Java synchronized 解析




<SCRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> <br></SCRIPT>
<IFRAME name=google_ads_frame marginWidth=0 marginHeight=0 src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-8432098110340913&dt=1206543263312&lmt=1206544010&prev_slotnames=6921970567&output=html&slotname=3493930840&correlator=1206543263203&url=http%3A%2F%2Fwww.busfly.cn%2FCSDN%2Fpost%2F473.html&ref=http%3A%2F%2Fwww.busfly.cn%2FCSDN%2Fpost%2F472.html&frm=0&cc=100&ga_vid=974867250.1206543263&ga_sid=1206543263&ga_hid=1472129646&flash=9.0.115.0&u_h=800&u_w=1280&u_ah=770&u_aw=1280&u_cd=32&u_tz=480&u_his=6&u_java=true" frameBorder=0 width=250 scrolling=no height=250 allowTransparency></IFRAME>
Tags:[java]  [synchronized]  [解析


一、當兩個併發線程訪問同一個對象object中的這個synchronized(this)同步代碼塊時,一個時間內只能有一個線程得到執行。另一個線程必須等待當前線程執行完這個代碼塊以後才能執行該代碼塊。
二、然而,當一個線程訪問object的一個synchronized(this)同步代碼塊時,另一個線程仍然可以訪問該object中的非synchronized(this)同步代碼塊。
三、尤其關鍵的是,當一個線程訪問object的一個synchronized(this)同步代碼塊時,其他線程對object中所有其它synchronized(this)同步代碼塊的訪問將被阻塞。
四、第三個例子同樣適用其它同步代碼塊。也就是說,當一個線程訪問object的一個synchronized(this)同步代碼塊時,它就獲得了這個object的對象鎖。結果,其它線程對該object對象所有同步代碼部分的訪問都被暫時阻塞。
五、以上規則對其它對象鎖同樣適用


time-synchronized 可以翻譯成實時麼?
time-synchronized:時間同步或時序同步
實時:real time
時間同步的概念和實時不一樣。

 

Tags: [java]  [synchronized]  [解析
本文鏈接地址:http://www.busfly.cn/CSDN/post/473.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章