Java併發程式設計教程

2021-09-01 20:38:43 字數 1270 閱讀 3421

多執行緒程式包含兩個或多個可同時執行的部分,每個部分可以同時處理不同的任務,從而能更好地利用可用資源,特別是當您的計算機有多個cpu時。多執行緒使您能夠寫入多個活動,可以在同一程式中同時進行操作處理。

新執行緒(new) - 新執行緒在新的狀態下開始其生命週期。直到程式啟動執行緒為止,它保持在這種狀態。它也被稱為出生執行緒。

可執行(runnable) - 新誕生的執行緒啟動後,該執行緒可以執行。狀態的執行緒被認為正在執行其任務。

等待(waiting) - 有時,執行緒會轉換到等待狀態,而執行緒等待另乙個執行緒執行任務。 只有當另乙個執行緒發訊號通知等待執行緒才能繼續執行時,執行緒才轉回到可執行狀態。

定時等待(timed waiting) - 可執行的執行緒可以在指定的時間間隔內進入定時等待狀態。 當該時間間隔到期或發生等待的事件時,此狀態的執行緒將轉換回可執行狀態。

終止(dead) - 可執行執行緒在完成任務或以其他方式終止時進入終止狀態。

class runnabledemo implements runnable 

public void run()

}catch (interruptedexception e)

system.out.println("thread " + threadname + " exiting.");

}public void start ()

}}public class testthread

}

執行的結果

creating thread-1

starting thread-1

creating thread-2

starting thread-2

running thread-1

thread: thread-1, 4

running thread-2

thread: thread-2, 4

thread: thread-1, 3

thread: thread-2, 3

thread: thread-1, 2

thread: thread-2, 2

thread: thread-1, 1

thread: thread-2, 1

thread thread-1 exiting.

thread thread-2 exiting.

Java併發程式設計教程

1 使用執行緒的經驗 設定名稱 響應中斷 使用threadlocal 2 executor executorservice和future 3 阻塞佇列 put和take offer和poll drainto 4 執行緒間的協調手段 lock condition wait notify notifya...

Java 教程(併發活性)

併發應用程式及時執行的能力被稱為其活性,本節描述了最常見的活性問題,死鎖,並繼續簡要描述其他兩個活性問題,飢餓和活鎖。死鎖描述了兩個或多個執行緒永遠被阻塞,等待彼此的情況,這是乙個例子。alphonse和gaston是朋友,是禮貌的忠實信徒,禮貌的乙個嚴格規則是,當你向朋友鞠躬時,你必須一直鞠躬,直...

JAVA併發程式設計

通過常量字串 string 來呼叫 wait 或 notify 方法所導致的問題是,jvm 編譯器會在內部自動將內容相同的 string 轉變為相同的物件。這意味著,即便你建立了兩個不同的 mywaitnotify 例項,他們內部的 mymonitorobject 變數也會指向相同的 string ...