1. 程式人生 > >java併發實踐第0部分

java併發實踐第0部分

1.執行緒有些時候比成為輕量級程序  lightweight process ,並且大多數線代作業系統把執行緒作為時序排程的基本單元,而不是程序。執行緒貢獻所屬程序的記憶體地址空間,所以同一程序中的所有執行緒訪問相同的變數,並從一個堆中分配物件。

2.不安全的執行緒

競爭條件race condition

B執行緒恰好在A執行緒的value沒加一的時候讀取value,這使得最後的結果是A的value和B的value都是10;而不是預期中的A的value是10而B的value是11;

value++操作包含3個步驟:1.讀取數字;2.加一;3.寫回數字

因為執行緒共享相同的記憶體地址空間,且併發地執行,他們可能訪問或修改其他執行緒正在使用的變數。Java中的同步機制就是來協調這樣的訪問的。3.活躍度的危險

安全意味著:沒有壞事發生;活躍度關注:好事最終發生了。

活躍度失敗:一個活動進入某種它同源無法再繼續執行的狀態。比如while無限迴圈。