晨考總結第六天
阿新 • • 發佈:2018-11-09
(一)多執行緒有幾種實現方法,同步有幾種實現方法?
多執行緒: 兩種,繼承Thread類與實現Runable介面
同步: synchronized, wait 和 notify
(二)執行緒的生命週期?
執行緒是一個動態執行的過程,他也有一個從產生到死亡的過程。
五種狀態:
- 新建(new Thread)當建立Thread類的一個例項時,此執行緒進入新建狀態(未被啟動)
- 就緒(runnable)執行緒已經被啟動,正在等待被分配給CPU時間片,也就是說此時執行緒正在就緒佇列中,排隊等候得到CPU資源
- 執行(running)執行緒獲取CPU資源正在執行任務,此時除非此執行緒自動放棄CPU資源或有優先順序更高的執行緒進入,執行緒將一直執行到結束。
- 阻塞(blocked)由於某種原因導致正在執行的執行緒讓出CPU並暫停自己的執行。
- 死亡(dead)當執行緒執行完畢或被其他程序殺死,執行緒就進入死亡狀態,這時執行緒不可能再進入就緒狀態等待執行。
(三)錯誤和異常的區別?
- error:表示恢復不是不可能但很困難的情況下的一種嚴重問題,比如記憶體溢位,不能指望程式能處理這種情況。
- Exception:表示一種設計或實現問題,即他表示如果程式執行正常,從不會放生的情況。