因為執行緒在執行的過程中具有一定的不確定性,在併發的時候就會出現安全問題,因此一般需要採取一定的措施來保證執行緒的安全,同步**塊就是其中一種方式。
以下是模擬銀行取錢的多執行緒小例子,兩個都能確保安全,但是有一種卻更好一些。
例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...