锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产天堂久久综合,亚洲美女激情视频,亚洲理论电影在线观看http://www.tkk7.com/shijian/category/44818.htmlzh-cnMon, 19 Dec 2011 20:53:49 GMTMon, 19 Dec 2011 20:53:49 GMT60Java concurrency in practice http://www.tkk7.com/shijian/archive/2011/12/18/366677.html鐭沖緩鍚屽鐭沖緩鍚屽Sun, 18 Dec 2011 14:56:00 GMThttp://www.tkk7.com/shijian/archive/2011/12/18/366677.htmlhttp://www.tkk7.com/shijian/comments/366677.htmlhttp://www.tkk7.com/shijian/archive/2011/12/18/366677.html#Feedback0http://www.tkk7.com/shijian/comments/commentRss/366677.htmlhttp://www.tkk7.com/shijian/services/trackbacks/366677.html12鏈?8鏃?chapter 2 Thread Safe

1.what is thread safe ?
澶氫釜綰跨▼騫跺彂璁塊棶鏃訛紝鏃犻渶棰濆鐨勫悓姝ユ垨鍗忚皟錛岃兘淇濊瘉鎵ц鐨勬紜э紝鍒欐綾諱負綰跨▼瀹夊叏銆傦紙緇撳悎Java鐗規(guī)э紝姣忎釜thread閮戒細鏈夌嫭绔嬬殑stack絀洪棿錛屽洜涓轟粎鍦ㄥ瓨鍦ㄧ姸鎬佺殑綾伙紝鎵嶄細瀵艱嚧thread safe闂銆傛棤鐘舵佺殑綾伙紝鎬繪槸綰跨▼瀹夊叏鐨勩傦級

A class is thread-safe if it behaves correctly when accessed from multiple threads, regardless of the scheduling or interleaving of the execution of those threads by the runtime environment, and with no additional synchronization or other coordination on the part of the calling code.

2.Atomicity
濡傦細servlet閫氳繃count灞炴ц褰曡闂暟錛屾綾繪槸綰跨▼涓嶅畨鍏ㄧ殑銆傚師鍥犳槸錛歝ount++錛屽茍闈炲師瀛愭搷浣滐紱瀹為檯鏄?涓楠わ紝璇誨彇count銆佸姞1銆佸啓鍥炰富瀛橈紝鍏朵腑浠諱綍闃舵鍏跺畠綰跨▼鍧囧彲榪涜鎿嶄綔錛岃嫢count++鎿嶄綔鏃跺師瀛愭椂錛熸槸淇濊瘉璁℃暟鍔熻兘鏄嚎紼嬪畨鍏ㄧ殑銆?br />race condition : The possibility of incorrect results in the presence of unlucky timing is so important in concurrent programming that it has a name: a race condition.

The most common type of race condition is check-then-act, where a potentially stale observation is used to make a decision on what to do next. 鏈甯歌鐨剅ace condition鎿嶄綔錛?check-then-act' -> '璇誨彇-鎿嶄綔'錛坙azy init錛夛紝姝ゆ椂浼氬鑷翠嬌鐢ㄤ竴涓猻tale鐘舵佸幓鍐沖畾涓嬩竴姝ョ殑鎿嶄綔銆傦紙鎴朿ount++鎿嶄綔錛宺ead-modify-write綾誨瀷錛?br />

Both LazyInitRace and UnsafeCountingFactorizer contained a sequence of operations that needed to be atomic, or indivisible, relative to other operations on the same state. To avoid race conditions, there must be a way to prevent other threads from using a variable while we're in the middle of modifying it, so we can ensure that other threads can observe or modify the state only before we start or after we finish, but not in the middle.
浠涔堟槸鍘熷瓙鎬?錛熶竴涓搷浣滐紝瑕佷箞鍏ㄩ儴瀹屾垚錛岃涔堟病鏈夊彂鐢燂紝涓嶄細瀛樺湪涓棿鐘舵併?br />
3.Locking

But if we want to add more state to our servlet, can we just add more thread-safe state variables ? 蹇呴』淇濊瘉鐩稿叧鐘舵佹搷浣滅殑鍘熷瓙鎬с侸ava provides a built-in locking mechanism for enforcing atomicity: the synchronized block. 
Every Java object can implicitly act as a lock for purposes of synchronization銆傞攣鏄睘浜庡疄渚嬬殑錛岀被綰у埆瀵瑰簲鐨勫疄渚嬫槸Class瀵硅薄銆備笖鍦ㄤ換鎰忔椂鍒諱粎鏈変竴涓嚎紼嬫寔鏈夋閿併傛煇綰跨▼榪涘幓琚玸ynchronized淇濇姢鐨勪唬鐮佸潡錛屽繀欏婚鍏堣幏鍙栧埌姝ら攣錛屽惁鍒檞ait鐩村埌鑾峰彇姝ら攣銆?/div>
3.1 Reentrancy
But because intrinsic locks are reentrant, if a thread tries to acquire a lock that it already holds, the request succeeds. 
Reentrancy is implemented by associating with each lock an acquisition count and an owning thread. 瀹炵幇渚濊禆閿佽鑾峰彇鐨勬鏁板拰鎷ユ湁姝ら攣鐨勭嚎紼嬨?br />褰撴瘡嬈¤幏鍙栧埌姝ら攣鏃訛紝acquisition count鍔?錛涘綋閫鍑簊ynchronized鏃訛紝count鍑?錛涚洿鍒癱ount涓?鏃訛紝閲婃斁姝ら攣銆?/div>鎯寵薄錛氳嫢synchronized鏄潪閲嶅叆鐨勶紝浼氭湁浠涔堢粨鏋?錛?br />
4.Guarding state with lock
sync淇濊瘉compound actions鍘熷瓙鎬э紱瀵瑰叡浜彉閲忕殑浠諱綍鎿嶄綔閮介渶瑕佹樉紺虹殑鍘籹ync錛岃繖鏄竴涓棶棰橈紱
瀵硅薄鍐呭緩鐨刲ock涓庡睘鎬у茍娌℃湁鍥烘湁鐨勫叧緋伙紝鍐呭緩lock鏂逛究鍘誨垱寤簊ync policy鍘諱繚璇乼hread safe錛?br />涓縐嶇畝鍗曠殑鏂規(guī)硶錛屽鎵鏈夌姸鎬佺粺涓浣跨敤鍐呭緩鐨刲ock錛屾剰鍛崇潃鍦ㄤ換浣昦ction code path閮介渶瑕佸幓sync錛屽錛歏ector錛?br />For every invariant that involves more than one variable, all the variables involved in that invariant must be guarded by the same lock.
婊ョ敤sync浼氬鑷存ц兘鐨勯棶棰樸?br />
5.Liveness and Performance
sync浼氬鑷存ц兘闂銆傚師鍒欙細sync鍧楀敖閲弒mall錛宻ync鎿嶄綔涓嶈兘鍒嗗壊澶粏銆傚浣曞仛錛岄渶瑕佷粠safe銆乻imple銆乸erformance鑰冭檻銆?br />
Deciding how big or small to make synchronized blocks may require tradeoffs among competing design forces, including safety (which must not be compromised), simplicity, and performance.閫氬父綆鍗曟у拰鎬ц兘鏄浉浜掔壍鍒剁殑錛屼笉瑕佷負浜嗘ц兘榪囨棭鐨勭壓鐗茬畝鍗曟э紙鏄綔鍦ㄧ殑瀵箂afe鐨勫Ε鍗忥級銆?br />Avoid holding locks during lengthy computations or operations at risk of not completing quickly such as network or console I/O.


]]>淇℃伅鐨勮〃紺哄拰澶勭悊http://www.tkk7.com/shijian/archive/2010/04/24/319285.html鐭沖緩鍚屽鐭沖緩鍚屽Sat, 24 Apr 2010 13:39:00 GMThttp://www.tkk7.com/shijian/archive/2010/04/24/319285.htmlhttp://www.tkk7.com/shijian/comments/319285.htmlhttp://www.tkk7.com/shijian/archive/2010/04/24/319285.html#Feedback0http://www.tkk7.com/shijian/comments/commentRss/319285.htmlhttp://www.tkk7.com/shijian/services/trackbacks/319285.html

璁$畻鏈轟互浜岃繘鍒惰〃紺哄拰瀛樺偍淇℃伅銆?/span>

璁$畻鏈哄唴閮ㄦ暟鎹殑瀛樺偍錛屾牴鎹暟鎹殑鐗規(guī)у垎涓猴細

1銆?nbsp;鏃犵鍙鋒暣鏁?/span>

2銆?nbsp;鏈夌鍙鋒暣鏁幫紙琛ョ爜錛?/span>

3銆?nbsp;嫻偣鏁?/span>

鏄庣‘鐨勫叧閿偣錛?/span>

1銆?nbsp;璁$畻鏈哄唴閮ㄦ槸閫氳繃鏈夐檺鐨勪綅緙栫爜涓涓暟瀛楋紝鍥犳瀛樺湪“婧㈠嚭”鐜拌薄錛屽洜涓鴻〃紺虹殑鑼冨洿鏄湁闄愮殑銆?/span>

2銆?nbsp;澶у鏁拌綆楁満浣跨敤8浣嶇殑鍧楋紝鍋氫負鏈灝忕殑鍙鍧鐨勫瓨鍌ㄥ櫒鍗曚綅銆?/span>

       3銆佷笉鍚岀殑鏁版嵁綾誨瀷錛屾暟鎹ぇ灝忔槸涓嶄竴鏍風(fēng)殑銆傦紙鍑嗙‘鐨勮渚濊禆鏈哄櫒鍜岀紪璇戝櫒錛夈?/span>

       4銆佸璞$殑鍦板潃浣跨敤瀛楄妭搴忓垪涓殑鏈灝忕殑鍦板潃銆傦紙緗戠粶浼犺緭銆佽法騫沖彴鏃惰冭檻瀛楄妭搴忕殑闂錛?br />

涓銆佹棤絎﹀彿鏁存暟

       鍩烘湰鐨?#8220;浜岃繘鍒?#8221;琛ㄧず銆?/span> 

浜屻佹湁絎﹀彿鏁存暟 --- 琛ョ爜 銆?span style="color:#993300">鍚屼綑銆?/span>

       浣跨敤琛ョ爜錛屽噺娉曚篃鍙寜鍔犳硶鏉ュ鐞嗭紙ALU涓嶇敤鍘誨疄鐜板噺娉曡繍綆楋級銆傦紙涓や釜鐢ㄨˉ鐮佽〃紺虹殑鏁版嵁鐩稿姞鏃跺欙紝灝嗙鍙蜂綅鍜屽叾瀹冧綅緇熶竴澶勭悊錛屽鏋滄渶楂樹綅(絎﹀彿浣?/span>)鏈夎繘浣嶏紝鍒欒繘浣嶈鑸嶅純銆傦級

       鏈楂樻湁鏁堜綅涓虹鍙蜂綅錛?/span>1璐熸暟錛?/span>0姝f暟銆?Java鍙敮鎸佹湁絎﹀彿鏁存暟)

涓夈佹誕鐐規(guī)暟

       鍒掑垎涓轟笁涓煙錛?/span>1.絎﹀彿  2.鏈夋晥浣嶏紙浜岃繘鍒跺皬鏁幫級  3. 鎸囨暟浣嶏紙2鐨勫箓錛屽嫻偣鏁板姞鏉冿級

鍗曠簿搴︼細1 = 23 =8 錛?/span> 鍙岀簿搴?/span> 錛?/span>1 = 52 = 11銆?/span>

       鐗規(guī)э細綺懼害鏈夐檺錛屾誕鐐硅繍綆楁槸涓嶅彲緇撳悎鍜屼氦鎹㈢殑銆?/span>

鍥涖?#8220;妯?#8221;姒傚康

        “妯?/span>”鏄寚涓涓閲忕郴緇熺殑璁℃暟鑼冨洿.濡傛椂閽熺瓑.璁$畻鏈轟篃鍙互鐪嬫垚涓涓閲忔満鍣?/span>,瀹冧篃鏈変竴涓閲忚寖鍥?/span>,鍗抽兘瀛樺湪涓涓?/span>“妯?/span>”.渚嬪錛?/span>
        
鏃墮挓鐨勮閲忚寖鍥存槸0锝?/span>11,妯?/span>=12.

        琛ㄧずn浣嶇殑璁$畻鏈鴻閲忚寖鍥存槸0锝?/span>2(n)-1,妯?/span>=2錛?/span>n錛?/span>.銆愭敞錛?/span>n琛ㄧず鎸囨暟銆?/span>
        “
妯?/span>”瀹炶川涓婃槸璁¢噺鍣ㄤ駭鐢?/span>“婧㈠嚭鐨勯噺,瀹冪殑鍊煎湪璁¢噺鍣ㄤ笂琛ㄧず涓嶅嚭鏉?/span>,璁¢噺鍣ㄤ笂鍙兘琛ㄧず鍑烘ā鐨勪綑鏁?/span>.浠諱綍鏈夋ā鐨勮閲忓櫒,鍧囧彲鍖栧噺娉曚負鍔犳硶榪愮畻. 渚嬪錛?/span> 鍋囪褰撳墠鏃墮拡鎸囧悜10鐐?/span>,鑰屽噯紜椂闂存槸6鐐?/span>,璋冩暣鏃墮棿鍙湁浠ヤ笅涓ょ鎷ㄦ硶錛?/span>
               1
銆佸掓嫧4灝忔椂,鍗籌細10-4=6
               2
銆侀『鎷?/span>8灝忔椂錛?/span>10+8=12+6=6
        
鍦ㄤ互12妯$殑緋葷粺涓?/span>,鍔?/span>8鍜屽噺4鏁堟灉鏄竴鏍風(fēng)殑,鍥犳鍑℃槸鍑?/span>4榪愮畻,閮藉彲浠ョ敤鍔?/span>8鏉ヤ唬鏇?/span>.
        
瀵?/span>“妯?/span>”鑰岃█,8鍜?/span>4浜掍負琛ユ暟.瀹為檯涓婁互12妯$殑緋葷粺涓?/span>,11鍜?/span>1,10鍜?/span>2,9鍜?/span>3,7鍜?/span>5,6鍜?/span>6閮芥湁榪欎釜鐗規(guī)?/span>.鍏卞悓鐨勭壒鐐規(guī)槸涓よ呯浉鍔犵瓑浜庢ā.
        
瀵逛簬璁$畻鏈?/span>,鍏舵蹇靛拰鏂規(guī)硶瀹屽叏涓鏍?/span>.n浣嶈綆楁満,璁?/span>n=8, 鎵鑳借〃紺虹殑鏈澶ф暟鏄?/span>11111111,鑻ュ啀鍔?/span>1縐頒負100000000(9浣?/span>),浣嗗洜鍙湁8浣?/span>,鏈楂樹綅1鑷劧涓㈠け.鍙堝洖浜?/span>00000000,鎵浠?/span>8浣嶄簩榪涘埗緋葷粺鐨勬ā涓?/span>2(8). 鍦ㄨ繖鏍風(fēng)殑緋葷粺涓噺娉曢棶棰樹篃鍙互鍖栨垚鍔犳硶闂,鍙渶鎶婂噺鏁扮敤鐩稿簲鐨勮ˉ鏁拌〃紺哄氨鍙互浜?/span>.鎶婅ˉ鏁扮敤鍒拌綆楁満瀵規(guī)暟鐨勫鐞嗕笂,灝辨槸琛ョ爜銆?br />





]]>
主站蜘蛛池模板: 久久亚洲春色中文字幕久久久| 免费国产不卡午夜福在线 | 野花香高清视频在线观看免费 | 亚洲av无码一区二区三区网站| 国产精品hd免费观看| 国产精品亚洲二区在线观看 | 亚洲精品美女久久久久99小说| 亚洲av永久无码精品秋霞电影秋 | 人人鲁免费播放视频人人香蕉| 四虎1515hm免费国产| 国产精品亚洲精品日韩动图 | jjizz全部免费看片| 亚洲成人网在线观看| 免费毛片a在线观看67194| 国产精品亚洲自在线播放页码| 色窝窝免费一区二区三区| 国产成人精品亚洲2020| 免费看美女让人桶尿口| 国产精品亚洲小说专区| 久久久久久亚洲精品不卡| 91视频免费观看| 91亚洲一区二区在线观看不卡 | 免费看国产一级片| 国产大片免费天天看| 亚洲av无码无在线观看红杏| 99久久人妻精品免费二区| 亚洲香蕉久久一区二区| 国产一级理论免费版| 日本高清不卡aⅴ免费网站| 中文字幕亚洲精品资源网| 好先生在线观看免费播放| 免费人成网站永久| 久久99国产亚洲精品观看| 亚洲中文字幕在线观看| 欧洲人成在线免费| 亚洲人成电影院在线观看| 在线视频免费国产成人| 野花香高清视频在线观看免费| 久久亚洲国产最新网站| 国产亚洲视频在线播放| 97在线线免费观看视频在线观看|