Programming 板


LINE

※ [本文轉錄自 java 看板 #1H0J_st5 ] 作者: coolcomm (coolcomm) 看板: java 標題: [問題] 想請問一段多執行緒的程式碼 時間: Thu Jan 24 22:06:44 2013 以下程式碼節錄自org.apache.commons.lang3.builder.HashCodeBuilder private static final ThreadLocal<Set<IDKey>> REGISTRY = new ThreadLocal<>(); static void register(Object value) { synchronized(HashCodeBuilder.class) { if (getRegistry() == null) { REGISTRY.set(new HashSet<IDKey>()); } } getRegistry().add(new IDKey(value)); } 想請問 ThreadLocal不是thread-safe嗎 為甚麼還要加上synchronized關鍵字? --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.163.82.56 另外 synchronized(HashCodeBuilder.class) 有什麼特別含意嗎 為什麼不直接寫 synchronized(this)... ※ 編輯: coolcomm 來自: 1.163.82.56 (01/24 22:12)
1F:→ tkcn:因為 register 是 static method,沒有 this 01/24 22:24
2F:→ tkcn:這寫法在 static method 是很常見的作法 http://goo.gl/ioAvZ 01/24 22:26
3F:→ coolcomm:所以和static void synchronized register完全一樣囉? 01/24 22:29
4F:→ tkcn:是,但你上面的例子還有個 getRegistry 在外面,所以不同 01/24 23:16
5F:→ coolcomm:嗯 這部分了解了 01/24 23:21
※ 編輯: coolcomm 來自: 1.163.82.56 (01/24 23:24)
6F:→ n3oanderson:This is check then act scenario, which is not 01/26 15:37
7F:→ n3oanderson:thred safe. 01/26 15:39
囧 我發現我忘了貼getRegistry()的定義 static Set<IDKey> getRegistry() { return REGISTRY.get(); } 就這樣一行 ※ 編輯: coolcomm 來自: 36.224.126.155 (02/05 19:37)
8F:→ coolcomm:有人能提供其他答案嗎? 36.224.126.155 02/05 19:37
9F:推 kingstong:所以說你看這種程式碼不會看到起瘋嗎?! 1.170.140.103 02/06 15:07
10F:推 kingstong:要是跑不動要怎麼DEBUG?!我可能會把電腦 1.170.140.103 02/06 15:10
11F:→ kingstong:砸了,反正編譯器那麼多種不必要一定得用 1.170.140.103 02/06 15:11
12F:→ kingstong:哪一種 1.170.140.103 02/06 15:11
13F:→ coolcomm:樓上又在幹嘛啦= = 1.163.86.92 02/06 18:15
14F:→ coolcomm:我猜樓上應該是不懂物件導向吧 所以才會 1.163.86.92 02/06 18:48
15F:→ coolcomm:覺得Java語法難懂 1.163.86.92 02/06 18:48
16F:→ coolcomm:雖然Java語法出了名的囉嗦 但其實非常好讀 1.163.86.92 02/06 18:50
17F:→ azureblaze:c大你跟他認真了你輸了 1.171.51.129 02/06 18:54
18F:→ coolcomm:= = 1.163.86.92 02/06 19:00
19F:推 kingstong:C\C++不就最早的物件導向的始祖嗎?! 1.170.140.103 02/06 20:15
20F:→ kingstong:不過我承認我位夠班,不過學了一堆理論 1.170.140.103 02/06 20:16
21F:→ kingstong:卻不會任何一種程式語言也是沒用 1.170.140.103 02/06 20:17
22F:→ kingstong:就像台大哲學和交大資工,你會選哪一個?! 1.170.140.103 02/06 20:19
23F:推 kingstong:還有你們認識施振榮和施崇棠嗎?!你們比 1.170.140.103 02/06 20:22
24F:→ kingstong:他們強嗎?! 1.170.140.103 02/06 20:23
※ 編輯: coolcomm 來自: 1.163.86.92 (02/06 20:46)
25F:推 LaPass:看不懂K的重點是什麼.....111.252.124.183 02/06 21:51
26F:→ vocaloid:視為雜訊略過 180.176.98.183 02/06 22:01
27F:推 dryman:C是物件導向的始祖?我笑了XD 68.181.5.30 02/07 13:04
28F:推 kingstong:樓上,你那麼厲害的話麻煩用一台沒灌任何 111.246.51.197 02/07 15:35
29F:→ kingstong:作業系統的電腦,然後灌DOS,在DOS的環境 111.246.51.197 02/07 15:36
30F:→ kingstong:下寫一套倚天中文系統的ET系列的可顯示 111.246.51.197 02/07 15:38
31F:→ kingstong:中文字的系統,在寫CW系列的文書處理程式 111.246.51.197 02/07 15:39
32F:→ kingstong:或是PE2也行,還是用COBOL來寫商用文書處 111.246.51.197 02/07 15:40
33F:→ kingstong:理系統,如果妳會我就讓你捅屁眼 111.246.51.197 02/07 15:41
34F:推 purpose:C++ 的物件導向是從 Simula 語言來的 124.8.134.217 02/07 16:06
35F:→ azureblaze:真正的高手灌什麼dos 用蝴蝶就夠了 1.171.48.45 02/07 16:12
36F:→ coolcomm:先別管king了 有沒有人能回答我原本的問題啦=3= 02/07 16:29
※ 編輯: coolcomm 來自: 1.163.82.9 (02/07 16:31)
37F:推 kingstong:PURPOSE你很謙虛啊!給你一個推 36.233.230.174 02/07 16:33
38F:→ maerdimer:屁精請不要亂入 111.252.70.168 02/07 21:18
39F:推 kingstong:我的屁比你的嘴還香勒 1.170.144.19 02/07 22:11
40F:推 kingstong:我知道我才疏學淺,不過我的精神就是不屈 1.170.144.19 02/07 22:18
41F:→ kingstong:不饒,我看過版主的發言,這個版想必在成 1.170.144.19 02/07 22:19
42F:→ kingstong:立時砲火連連,就像是宇宙大爆炸,混屯初 1.170.144.19 02/07 22:20
43F:→ kingstong:開,然後應該有人被桶進精神病院 1.170.144.19 02/07 22:21
44F:→ kingstong:不過程式這東西還是化繁為簡的好 1.170.144.19 02/07 22:21
45F:→ kingstong:不知道這版有沒有人問候別人的老木?! 1.170.144.19 02/07 22:23
46F:→ suhorng:如果你是來跟別人討論而不是亂放話混亂版 118.166.45.233 02/07 22:39
47F:→ suhorng:面就會有人討論了啊@@ 118.166.45.233 02/07 22:39
48F:推 dryman:請把不屈不撓的精神拿去讀點書,加油,好嗎 68.181.5.30 02/08 07:04
49F:→ yauhh:不屈不撓精神放在嘴上,不太好.歇會兒吧 118.167.53.24 02/08 16:49







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP