Java高併發程式設計讀書筆記

2021-08-09 23:28:48 字數 647 閱讀 3552

程序:程序是計算機彙總的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。在早期面向程序設計的計算機結構中,程序是程式的基本執行實體;在當代面向執行緒設計的計算機結構中,程序是執行緒的容器。程式是指令、資料及其組織形式的描述,程序是程式的實體。

執行緒是輕量級的程序,是程式執行的最小單位。使用多執行緒而不是多程序去進行併發程式的設計,是因為執行緒間的切換和排程的成本遠遠小於程序。

執行緒狀態:

執行緒的所有狀態都在thread中的state列舉中定義:如下:

public enum state{

new,

runnable,

blocked,

waiting,

timed_watt\ing,

terminated;

new狀態表示剛剛建立的執行緒,這種執行緒還沒有開始執行。等到執行緒的start()方法呼叫時。才表示執行緒開始執行。當執行緒執行時,處於runnable狀態,表示執行緒所需的一切資源都已經準備好了。如果執行緒在執行過程中遇到了synchronized同步快,就會進入blocked阻塞狀態,這時執行緒就會暫停執行,直到獲得請求的鎖。wating和timed_wating都表示等待狀態,他們的區別是wating會進入乙個無時間限制的等待,timed_wating會進行乙個有時限的等待。

Java併發 JAVA併發程式設計實戰 讀書筆記3

發布乙個物件的意思是使它能夠被當前範圍之外的 所使用。比如將乙個引用儲存到其他 可以訪問的地方,在乙個非私有的方法中返回這個引用。在很多情況下,我們需要確保物件及它們的內部狀態不被暴露。乙個物件在尚未準備好時就將它發布,稱作逸出。最常見的發布物件的方式就是將物件的引用儲存到公共靜態域中,任何類和執行...

Java併發 JAVA併發程式設計實戰 讀書筆記8

為計算結果建立高效 可伸縮的快取記憶體 public inte ce computable public class expensivefunction implements computable public class memoizer1implements computable public ...

Java併發 JAVA併發程式設計實戰 讀書筆記14

無論何時,執行緒池需要建立乙個執行緒都要通過乙個執行緒工廠。public inte ce threadfactory 預設的執行緒工廠建立乙個新的非守護的執行緒,其中的newthread 會在建立乙個新執行緒時被呼叫。public class mythreadfactory implements t...