面試常問問題 多執行緒,執行緒的狀態

2021-10-05 03:51:33 字數 628 閱讀 1304

問題?執行緒共有幾種狀態?分別都是什麼。

從thread原始碼中也可以看到以下這幾種列舉型別:

new,

runnable,

blocked,

waiting,

timed_waiting,

terminated;

新建狀態(new):新建後,尚未呼叫start()方法的執行緒狀態。

執行狀態(runnable):包括running和ready

無限期等待(waiting):不會唄分配cpu執行時間,需要被顯式喚醒。 thread.join() 就會使當前執行緒進入無限期等待的狀態。

限期等待(timed waiting):在一定時間後會由系統自動喚醒。 thread.sleep(5000);//即為限期等待。

阻塞(blocked):等待獲取排它鎖。

結束(terminated):已終止執行緒的狀態,執行緒已經結束執行。

已經結束的執行緒無法再被喚醒。

如果已經結束後再呼叫start方法,會丟擲illegalthreadstateexception異常。

Mysql面試常問問題

資料庫基礎知識 1 為什麼要使用資料庫 2 什麼是sql?3 什麼是mysql?4 資料庫三大正規化是什麼 5 mysql有關許可權的表都有哪幾個 6 mysql的binlog有有幾種錄入格式?分別有什麼區別?資料型別 1 mysql有哪些資料型別 引擎1 mysql儲存引擎myisam與innod...

php 面試常問問題

1.看看簡歷,會問一些過去做的專案的使用者量 pv 吞吐量 相關難點和解決方法等 2.資料庫設計經驗,為什麼進行分表?分庫?一般多少資料量開始分表?分庫?分庫分表的目的?什麼是資料庫垂直拆分?水平拆分?分割槽等等?可以舉例說明 3.資料庫優化有哪些?分別需要注意什麼?4.web開發方面會遇到哪些快取...

C Dictionary多執行緒安全訪問問題

dictionary是非執行緒安全的型別,操作的時候需要對其進行執行緒安全處理,最簡單的方式就是加鎖 lock 資料變數 private static dictionarym list video channel all new dictionary 加鎖 建立裝置通道連線 private void...