我做了一個蜘蛛程序,用多線程爬網頁,使用命令行同步輸出日志信息,在主線程中每隔20秒(Sleep)輸出一次統計信息。該程序運行幾十分鐘后就會莫名其妙地隨機卡住不動,不光子線程不會繼續工作和輸出,主線程也不再輸出任何信息了,就這么一直卡住不運行了,但窗口并沒有失去響應。調試里窗口里沒有看到未被捕獲的異常,出現過的異常都在可控范圍內,不影響流程;任務肯定是沒有完全完成,每個線程也都沒完成當次分配的任務;就算某一個線程里的網頁訪問超時也不該影響其他的線程,況且也有超時時限的;線程只有一處用到鎖,應該不是死鎖問題,我嘗試過155個線程同時運轉一大段時間也是正常的。我的線程都設為了后臺線程,應該和這個無關吧,后臺應該也不會被Windows忽略吧。懷疑是命令行輸出時卡住,不知有沒有這個可能呢?命令行是否有輸出行數上限?我正在測試定時清屏是否有效。各位朋友能幫忙想想解決辦法么?
- 2 回答
- 0 關注
- 504 瀏覽
添加回答
舉報
0/150
提交
取消
