學習java併發程式設計(一)

2021-08-29 17:47:49 字數 417 閱讀 3273

1、任務的認識

任務可以看作是乙個implements runnable的乙個類,任務的內容就是定義在run()方法中的內容

2、thread、executor

當使用new thread(runnable r).start()時,即客戶端(也就是編寫程式的開發人員)直接在新執行緒中執行任務,而在使用executor時,如executor exec =... ,呼叫exec.execute(runnable r),則是客戶端將任務提交給executor,由它來管理執行緒去執行任務。

舉個例子:有3個任務要併發執行,用thread時,要由開發人員建立3個執行緒實現多執行緒,而用executor時,只要通過executors.newfixedthreadpool(2)建立2個執行緒就可以實現多執行緒了。

以上只是學到一部分的體會,如有不妥之處,請大家指正!

JAVA併發程式設計學習

併發程式設計主要目的是為了在相同的時間內讓程式執行得更快或者處理更多的任務。為了實現這一目的,併發程式設計會面臨很多的挑戰。併發程式設計必然會帶來多執行緒之間的問題,比如上下文之間的切換,執行緒死鎖,以及硬體資源的限制。無論是單核還是多核處理器都支援多執行緒。在單核處理器中,cpu會給每個執行緒分配...

Java併發程式設計一

不要用run 來開啟執行緒,它只會在當前執行緒中,序列執行run 方法中的 建立執行緒時,推薦傳入runnable介面的例項,因為預設的thread.run 就是直接呼叫內部的runnable介面,這樣避免了過載thread.run 因此使用runnable介面來告訴執行緒該做什麼更為合理。publ...

java併發程式設計 一

加鎖機制 用鎖來保護狀態 對於可能被多個執行緒同時訪問的可變狀態變數,包括每個包含多個變數的不變形條件 在訪問它的時候都需要持有同乙個鎖,稱為被這個鎖保護 if vector.containers element 活躍性與效能 死鎖和顯示鎖 1.死鎖 定義 當乙個執行緒永遠占有乙個鎖,而其他執行緒嘗...