引入:兩人同時取同一賬戶的錢 兩個執行緒訪問同一資源,
程序之間協調的問題
解決:在程序訪問獨佔資源時先鎖定再訪問 synchronized 最好只鎖定乙個物件
加鎖過程中:
乙個方法做了同步(加鎖
)另乙個方法沒有做同步
,別的執行緒可以訪問沒做同步的方法
,並且能影響已經同步的方法,要保護需要的同步的物件
,必須對要訪問的物件所有方法要仔細考慮加不加同步
,加同步效率變低,不加同步有可能產生資料不一致的後果
讀寫兩方法,
寫的方法加鎖。
兩個方法都改了同乙個值,兩個方法都應該加同步
public class testsync implements runnable
public void run()
}class timercatch (interruptedexception e) {}
system.out.println(name+",你是第" + num +"個使用timer的執行緒");}}
輸出:
t2,你是第1個使用timer的執行緒
t1,你是第2個使用timer的執行緒
改掉其中一段**
class timercatch (interruptedexception e) {}
system.out.println(name+",你是第" + num +"個使用timer的執行緒");
} } }
就可以輸出:
t1,你是第1個使用timer的執行緒
t2,你是第2個使用timer的執行緒
05 執行緒同步
引入 兩人同時取同一賬戶的錢 兩個執行緒訪問同一資源,程序之間協調的問題 解決 在程序訪問獨佔資源時先鎖定再訪問 synchronized 最好只鎖定乙個物件 加鎖過程中 乙個方法做了同步 加鎖 另乙個方法沒有做同步 別的執行緒可以訪問沒做同步的方法 並且能影響已經同步的方法,要保護需要的同步的物件...
多執行緒05 執行緒同步
1 執行緒同步 2 執行緒不安全案例 public class testthreadsynchronized class ticketwindow implements runnable private void buy try catch interruptedexception e system...
同步 執行緒同步
操作執行的先後順序。同步指兩個或兩個以上隨時間變化的量在變化過程中保持一定的相對關係。同步 英語 synchronization 指對在乙個系統中所發生的事件 event 之間進行協調,在時間上出現一致性與統一化的現象。在系統中進行同步,也被稱為及時 in time 同步化的 synchronous...