1. 程式人生 > >晨考總結第六天

晨考總結第六天

(一)多執行緒有幾種實現方法,同步有幾種實現方法?

  多執行緒: 兩種,繼承Thread類與實現Runable介面

  同步:     synchronized, wait 和 notify

 

(二)執行緒的生命週期?

  執行緒是一個動態執行的過程,他也有一個從產生到死亡的過程。

  五種狀態:

  1. 新建(new Thread)當建立Thread類的一個例項時,此執行緒進入新建狀態(未被啟動)
  2. 就緒(runnable)執行緒已經被啟動,正在等待被分配給CPU時間片,也就是說此時執行緒正在就緒佇列中,排隊等候得到CPU資源
  3. 執行(running)執行緒獲取CPU資源正在執行任務,此時除非此執行緒自動放棄CPU資源或有優先順序更高的執行緒進入,執行緒將一直執行到結束。
  4. 阻塞(blocked)由於某種原因導致正在執行的執行緒讓出CPU並暫停自己的執行。
  5. 死亡(dead)當執行緒執行完畢或被其他程序殺死,執行緒就進入死亡狀態,這時執行緒不可能再進入就緒狀態等待執行。

(三)錯誤和異常的區別?

  1. error:表示恢復不是不可能但很困難的情況下的一種嚴重問題,比如記憶體溢位,不能指望程式能處理這種情況。
  2. Exception:表示一種設計或實現問題,即他表示如果程式執行正常,從不會放生的情況。