java多執行緒(2)

2021-08-20 01:56:42 字數 494 閱讀 2123

1.synchronized 鎖重入:執行緒請求由自己持有的物件時,如果該鎖是重入鎖,請求就會成功,否則阻塞

2.synchronized出現異常時,鎖自動釋放

3.當多個執行緒要同乙個例項時

雙重校驗鎖

public

class dubblesingleton catch (interruptedexception e)

//類上加鎖,表示當前物件不可以在其他執行緒的時候建立

synchronized (dubblesingleton.class) }}

return instance;

}}

上面用到了volatile ,下面說下volatile的作用

volatile關鍵字的作用就是強制從公共堆疊中取得變數的值,而不是從執行緒私有棧中取

volatile 解決的是變數在多個執行緒之間的可見性,而 synchronized 解決的是多個執行緒之間訪問資源的同步性

Java多執行緒2 執行緒的建立

上一講中我們講了什麼是執行緒,這一講我們細細討論一下關於執行緒的那些事。先看看執行緒的狀態轉換圖。1.首先執行緒被建立出來。2.進入就緒佇列中等待cpu分配時間片 這裡的時間片指的是cpu允許執行緒執行的最大時間 若在規定時間內未執行完成,則執行緒繼續進入就緒佇列等待cpu分配時間片。3.執行緒進入...

Java多執行緒2 synchronized

先看一段 public class account public void deposit int my catch interruptedexception e this.money tmp public void withdraw int my catch interruptedexceptio...

Java 回顧筆記 多執行緒 2

執行緒的狀態 執行緒建立的第二種方式 將任務封裝成物件 方法二的好處 區別 繼承 thread和實現 runtimethread 小區別 如果當你想實現4個執行緒同時對乙個元素進行操作,就用run 如果你想4個執行緒 四個元素就用thread 因為當你使用繼承thread的 時候,你就建立了4個物件...