java 线程同步 急求解答

  • 在多线程编程中,有一个队列(用linkedList实现),里面会有大量数据,先需要多线程进行快速访问,该怎么实现?

    如列表{'a','b','c','d','e','f'}中,对每个元素都加上字符串‘q’,该怎么实现多线程顺序化访问并添加字符串?求实例简单代码


犯罪嫌疑人X
浏览 405回答 5
5回答

呼啦一阵风

你要是做作业帮不了你,要是项目实际想解决问题就这么做:ConcurrentLinkedDeque q = new ConcurrentLinkedDeque(你的LinkedList)然后这个q就随便多线程玩了。线程安全的。这个API需要Java7如果你不用Java7,换成ConcurrentLinkedQueue 也差不多。这个需要Java5你要是Java5都不用的话就自己同步了。

ibeautiful

1.5之后加入的那些ConcurrentXXXXX集合为什么说是线程安全的一直没怎么搞清楚,2个线程同时操作不用加锁也能保证数据正确?我觉得还是要在处理此集合的对方加入集合对象锁。不然还是不能保证数据完整性

喵喔喔

感觉你的意思是多线程且分布式的处理这个队列呢,就是a线程处理一部分b线程处理另一部分。 而不是仅仅考虑线程安全问题呢。

UYOU

你可以在所有的线程访问你的list之前让他们去竞争获取一个锁对象,谁拿了锁,谁才可以操作,这样的锁对象很多,你再Juc框架里面就能找到!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java