JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 新手區 » Object/物件導向  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:Thread.currentThread().getName() [Re:tycoonf]
honeyaaa





發文: 159
積分: 0
於 2008-04-03 21:28 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
程式記得要標記喔~

先回答你的第一個問題,
用start和直接call run()是有差別的,一個是Thread的啟動,
另一個則是單純main()去跑完三個method。
(已經討論很多次了,可以搜尋一下看看前輩們的討論)
再來,回答你

第一個寫法是 new 三個 thread 跑相同的 instance
第二個寫法是 new 三個 thread 跑不同的 instance

這樣最大的差別就是你
new 三個thread跑相同的instance,會共用此instance的成員變數
new 三個 thread 跑不同的 instance,會有各別的instance的成員變數

最後,synchronized,針對的是此物件的實體。
當你new一個instance出來時,雖然你啟動了Thread.start(),但是因為
你的run()被synchronized,所以此時你的Thread會等另一個Thread執行完
才會接的繼續執行。
new 三個 thread 跑不同的 instance,因為他們是不同instance object
所以,並不會等待。


honeyaaa edited on 2008-04-03 21:31
reply to postreply to post
努力,是成功唯一的途徑。
話題樹型展開
人氣 標題 作者 字數 發文時間
4466 Thread.currentThread().getName() tycoonf 1491 2008-04-03 11:17
3802 Re:Thread.currentThread().getName() honeyaaa 508 2008-04-03 21:28
4071 Re:Thread.currentThread().getName() tycoonf 671 2008-04-03 22:37
» JWorld@TW »  Java 新手區 » Object/物件導向

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8