執行緒不安全的兩個例子

2022-06-18 18:48:14 字數 966 閱讀 9742

1. 購買車票:

package

thread;

public

class

unsafebuyticket

}class buyticket implements

runnable

catch

(interruptedexception e) }}

public

void buy() throws

interruptedexception

thread.sleep(10);

system.out.println(thread.currentthread().getname()+"拿了"+ticketnums--);

}}

2. 銀行取錢

package

thread;

public

class

unsafebank }//

賬戶class

acount}//

銀行,模擬取錢

class drawing extends

thread

//取錢

@override

public

void

run()

//sleep可以放大問題的發生性

try

catch

(interruptedexception e)

acount.money-=drawingmoney;

nowmoney+=drawingmoney;

system.out.println(acount.name + "餘額為:" +acount.money);

等號兩邊都是取得當前執行緒名。this指當前類物件。

system.out.println(this.getname()+"手裡的錢"+nowmoney);

}}

執行緒不安全

背景 執行緒不安全 sleep 模擬網路延遲 後多執行緒併發訪問同乙個資源 方法1 同步 塊 語法 synchronized 同步鎖 catch interruptedexception e 方法2 同步方法 使用synchronizd修飾的方法,就叫同步方法,保證a執行緒執行該方法的時候,其他執行...

執行緒安全與執行緒不安全

執行緒安全是針對多執行緒來講的,如果所使用的公用變數在多執行緒下沒有被保護機制時,變數結果會和理論值不一致,這樣就叫作執行緒不安全,相反公用變數在保護機制下工作,就不會出現 隨機 變化,這時叫執行緒安全。執行緒安全 在多執行緒中使用時,不用自已做同步處理.執行緒不安全 在多執行緒中使用時,必須做執行...

執行緒安全與執行緒不安全

執行緒安全是針對多執行緒來講的,如果所使用的公用變數在多執行緒下沒有被保護機制時,變數結果會和理論值不一致,這樣就叫作執行緒不安全,相反公用變數在保護機制下工作,就不會出現 隨機 變化,這時叫執行緒安全。執行緒安全 在多執行緒中使用時,不用自已做同步處理.執行緒不安全 在多執行緒中使用時,必須做執行...