在多线程编程中,有一个队列(用linkedList实现),里面会有大量数据,先需要多线程进行快速访问,该怎么实现?如列表{'a','b','c','d','e','f'}中,对每个元素都加上字符串‘q’,该怎么实现多线程顺序化访问并添加字符串?求实例简单代码
5 回答

呼啦一阵风
TA贡献1802条经验 获得超6个赞
你要是做作业帮不了你,要是项目实际想解决问题就这么做:
ConcurrentLinkedDeque q = new ConcurrentLinkedDeque(你的LinkedList)
然后这个q就随便多线程玩了。线程安全的。
这个API需要Java7
如果你不用Java7,换成ConcurrentLinkedQueue 也差不多。这个需要Java5
你要是Java5都不用的话就自己同步了。

ibeautiful
TA贡献1993条经验 获得超5个赞
1.5之后加入的那些ConcurrentXXXXX集合为什么说是线程安全的一直没怎么搞清楚,2个线程同时操作不用加锁也能保证数据正确?我觉得还是要在处理此集合的对方加入集合对象锁。不然还是不能保证数据完整性
添加回答
举报
0/150
提交
取消