1. 程式人生 > >執行緒sleep導致崩潰是一種錯覺

執行緒sleep導致崩潰是一種錯覺

   今天下午除錯程式碼的時候,發現執行一段時間後肯定崩潰。使用輸出發現死在sleep之前。嗯?是這個執行緒有問題?於是把執行緒功能逐步去掉,照樣崩潰;不啟動這個執行緒,還是崩潰。這是為什麼?

  其實,sleep導致崩潰,是一種錯覺。因為sleep的時間一般較長,如果此時別的地方崩潰,那麼看起來就象是sleep導致的。驗證辦法很簡單,去掉sleep會崩潰,去掉這個執行緒還是會崩潰。