多線程共享變量

題目如下:

設計4個線程,其中兩個線程每次對j增加1,另外兩個線程對j每次減少1。

如果每個線程執行的代碼相同 ,可以使用同一個runnable對象,這樣在不同的線程中只需要把這個runnable對象傳到裏面去即可,因爲runnable對象的run方法天熱原子性,不可能run方法被打斷,一個run方法執行完後可能會切換到另一個線程的run方法 ,所以可以實現線程同步,例如買票程序火車票這樣的程序可以這樣設計


這是賣票程序的例子


接下來說如果要實現的線程代碼不同,比如上面的題目 有的要加有的要減,這個時候我們需要有兩個runnable對象,在run方法裏面對同一個對象執行不同的操作 如下


如上所示 我們的數據對象只有一個data1,但是我們的runnable對象有兩個,操作同一個對象,一個對它加一個對它減




發佈了46 篇原創文章 · 獲贊 10 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章