java多執行緒 基礎概念

2021-08-09 08:07:07 字數 433 閱讀 6695

join()方法:在很多情況下,主線程生成並起動了子執行緒,如果子執行緒裡要進行大量的耗時的運算,主線程往往將於子執行緒之前結束,但是如果主線程處理完其他的事務後,需要用到子執行緒的處理結果,也就是主線程需要等待子執行緒執行完成之後再結束,這個時候就要用到join()方法了。

wait方法: 呼叫obj的wait(), notify()方法前,必須獲得obj鎖,也就是必須寫在synchronized(obj) **段內以及呼叫obj.wait()後,執行緒a就釋放了obj的鎖,否則執行緒b無法獲得obj鎖,也就無法在synchronized(obj) **段內喚醒a。

synchronized關鍵字: 某個物件例項內,synchronized amethod(){}可以防止多個執行緒同時訪問這個物件的synchronized方法

Java多執行緒之基礎概念

執行緒狀態的扭轉圖如下 time waiting 限期等待狀態,不會分配cpu時間片,睡眠時間到或等待一定的時間後自動喚醒。以下方法會讓執行緒進入該狀態 dead 死亡狀態,執行緒正常執行完了或因異常退出了run 方法,該執行緒結束生命週期 interrupt 方法 中斷執行緒,本質是將某執行緒的中...

java多執行緒程式設計(一基礎概念)

1 程序和執行緒 程序,是乙個正在執行的程式實體,windows下常見的就是 exe,在任務管理器中可以看見很多個程序。它是執行緒的容器。執行緒,是程序中的乙個執行流。在單執行緒程式設計中,我們的程式只有乙個執行流 主線程的main方法。流,表明執行的過程是有順序的,如main函式中的語句需要一條一...

學習java多執行緒概念

同步和非同步的區別 同步,synchronous,即呼叫方法開始,一旦呼叫就必須等待方法執行完返回才能繼續下面的操作。舉個例子,你去銀行atm取錢,你必須等到atm吐完錢你拿到錢取完卡你才能離開。非同步,asynchronous,即不關心方法執行的過程,觸發要呼叫的方法就繼續執行下面的操作,不會像同...