(三十一)java多執行緒二

2021-07-02 03:51:33 字數 1922 閱讀 3608

因為執行緒在執行的過程中具有一定的不確定性,在併發的時候就會出現安全問題,因此一般需要採取一定的措施來保證執行緒的安全,同步**塊就是其中一種方式。

以下是模擬銀行取錢的多執行緒小例子,兩個都能確保安全,但是有一種卻更好一些。

例1:packagedemo1;

/***

模擬兩個人同時取乙個賬戶的錢,必須只能有乙個人能取成功

*@authortuzongxun *

*/public

classthreadtest6 }

/*** 模擬賬戶

*@authortuzongxun *

*/classaccount

publicstringgetaccountnum()

public

voidsetaccountnum(stringaccountnum)

publicdoublegetmoney()

public

voidsetmoney(double money) }

classgetmoneyextendsthread

@override

public

voidrun()else}

} }例2:

packagedemo1;

/***

模擬兩個人同時取乙個賬戶的錢

,必須只能有乙個人能取成功

*@authortuzongxun *

*/public

classthreadtest7 }

/***

模擬賬戶

*@authortuzongxun *

*/classaccount1

publicstringgetaccountname()

public

voidsetaccountname(stringaccountname)

public

doublegetbalance()

public

voidsetbalance(doublebalance)

/***

這裡只是鎖住了取錢的方法

,所以有可能第乙個執行緒執行一半時

,第二個開始執行並可能先結束

*但是就算第乙個後結束,第二個執行緒依然取錢失敗。

*@parammoney

*@return*/

public

synchronized

doublegetmondy(doublemoney)else}

};

classgetmoney1extendsthread

@override

public

voidrun()else}

}

(三十一)java多執行緒二

因為執行緒在執行的過程中具有一定的不確定性,在併發的時候就會出現安全問題,因此一般需要採取一定的措施來保證執行緒的安全,同步 塊就是其中一種方式。以下是模擬銀行取錢的多執行緒小例子,兩個都能確保安全,但是有一種卻更好一些。例1 packagedemo1 模擬兩個人同時取乙個賬戶的錢,必須只能有乙個人...

java併發(三十一)Amdahl定律

b 阿姆達爾定律 b 阿姆達爾 amdahl 定律是計算機系統設計的重要定量原理之一,於1967年由ibm360系列機的主要設計者阿姆達爾首先提出。該定律是指 系統中對某一部件採用更快執行方式所能獲得的系統效能改進程度,取決於這種執行方式被使用的頻率,或所佔總執行時間的比例。阿姆達爾定律實際上定義了...

第三十一次總結 多程序vs多執行緒

import threadingthread 英 red 美 red n.棉 毛 絲等的 線 線索 脈絡 思緒 思路 貫穿的主線 線狀物 細細的一條 v.穿 針 紉 針 穿過 使 穿過 通過 穿行 穿成串 串在一起建立乙個執行緒,指向的函式,不接收引數的情況 t threading.thread t...