java多執行緒

2021-09-20 15:06:40 字數 430 閱讀 7654

ø 執行緒是程序的組成部份,乙個程序可以擁有多個執行緒,乙個執行緒必須有乙個父程序,可以理解為程序是執行緒的載體

ø 因此執行緒之間可以共享記憶體

ø 執行緒執行時的優先順序由程序來排程

ø 程序的生命週期:新建(new)、就緒(runable)、執行(runing)、阻塞(blocked)、死亡

啟動執行緒使用start方法,而不是run方法。當執行緒物件呼叫了start()方法後,該執行緒處於就緒狀態,具體什麼時候執行,取決於jvm裡執行緒排程器的排程(優先級別高的先執行)

如果希望呼叫子執行緒的start()方法後子線程式立即開始執行,可以使用thread.sleep(1)來讓當前執行的執行緒睡眠,從而得到1毫秒的執行時間

當主線程結束後,其他執行緒不受影響

對於處於死亡狀態的執行緒不能再呼叫start()方法,對處於就緒狀態的執行緒也不能再次呼叫start()方法

java多執行緒

在網上看到很有意思的問題,摘下來好好看下 在面試的時候被問了乙個多執行緒的問題 回來仔細思考了一下,多執行緒是否真的能提高了效率?我對多執行緒的理解就是 比如挖乙個隧道,有2種開工方法 1 只在山的一頭挖,直至挖到山的另一頭,從而打通隧道,這可以看成是單執行緒 2 在山的兩頭挖,同時開工,最後在山的...

Java 多執行緒

1。thread類和runnable介面 2。主線程 用thread的static thread currentthread 方法獲得 3。通過實現runnable介面建立執行緒 實現runnable介面的run方法。新執行緒在run 方法返回時結束。注意用這種方法建立程序時,在實現runnable...

JAVA 多執行緒

為hashmap的不正確使用所導致。hashmap在多執行緒環境下使用不安全。使用靜態hashmap作為聯絡人資料快取,key為手機號碼.private static maplxrdata new hashmap 多執行緒環境下不同步hashmap可能導致如下問題 1 多執行緒put操作後可能導致g...