多線程併發編程

1.線程和進程的概念

進程是一個執行的程序,進程裏面有多個線程,線程是進程中負責執行的程序的一執行單元,線程自己是依靠程序進行運行的,線程是程序中一個順序控制流。
線程分爲單線程和多線程。 多線程能更好利用cpu資源。
之前單進程的,時間片切換多線程

多線程實現方式: 繼承thread,實現runnable。
ExecutorService
CallableFuture 帶返回值的多線程,方法執行完給一個返回值。線程

2. 多線程的生命週期

初始狀態 -- 可運行狀態 -- 運行中 -- 結束繼承

運行中經過yield或時間片輪詢變成可運行狀態生命週期

運行中 經過synchronized變成鎖定狀態
運行中經過wait 進入等待隊列
等待隊列經過notify notifyall wait時間執行完 等喚醒一個鎖定狀態的線程,拿到鎖的標記,進入可運行狀態隊列

運行中經過sleep,join讓當前進程進入阻塞狀態
阻塞狀態經過sleep結束,join線程執行完變成可運行狀態進程

相關文章
相關標籤/搜索