5 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
你要是做作業(yè)幫不了你,要是項(xiàng)目實(shí)際想解決問(wèn)題就這么做:
ConcurrentLinkedDeque q = new ConcurrentLinkedDeque(你的LinkedList)
然后這個(gè)q就隨便多線程玩了。線程安全的。
這個(gè)API需要Java7
如果你不用Java7,換成ConcurrentLinkedQueue 也差不多。這個(gè)需要Java5
你要是Java5都不用的話就自己同步了。

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
1.5之后加入的那些ConcurrentXXXXX集合為什么說(shuō)是線程安全的一直沒(méi)怎么搞清楚,2個(gè)線程同時(shí)操作不用加鎖也能保證數(shù)據(jù)正確?我覺(jué)得還是要在處理此集合的對(duì)方加入集合對(duì)象鎖。不然還是不能保證數(shù)據(jù)完整性

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
感覺(jué)你的意思是多線程且分布式的處理這個(gè)隊(duì)列呢,就是a線程處理一部分b線程處理另一部分。 而不是僅僅考慮線程安全問(wèn)題呢。

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
你可以在所有的線程訪問(wèn)你的list之前讓他們?nèi)ジ?jìng)爭(zhēng)獲取一個(gè)鎖對(duì)象,誰(shuí)拿了鎖,誰(shuí)才可以操作,這樣的鎖對(duì)象很多,你再Juc框架里面就能找到!
添加回答
舉報(bào)