在多线程编程中,有一个队列(用linkedList实现),里面会有大量数据,先需要多线程进行快速访问,该怎么实现?
如列表{'a','b','c','d','e','f'}中,对每个元素都加上字符串‘q’,该怎么实现多线程顺序化访问并添加字符串?求实例简单代码
在多线程编程中,有一个队列(用linkedList实现),里面会有大量数据,先需要多线程进行快速访问,该怎么实现?
如列表{'a','b','c','d','e','f'}中,对每个元素都加上字符串‘q’,该怎么实现多线程顺序化访问并添加字符串?求实例简单代码
你要是做作业帮不了你,要是项目实际想解决问题就这么做:
ConcurrentLinkedDeque q = new ConcurrentLinkedDeque(你的LinkedList)
你可以在所有的线程访问你的list之前让他们去竞争获取一个锁对象,谁拿了锁,谁才可以操作,这样的锁对象很多,你再Juc框架里面就能找到!
ConcurrentLinkedDeque 有一个改进就是使用了乐观锁.
也就是只有真正发生冲突的时候,才需要想办法解决,而不是事先就锁住.这样自然就提高了并发度.
至于怎么解决冲突,简单的说,就是发现冲突之后,重新把想做的事情在做一遍,不会每次做什么都和别的线程冲突吧,总有成功的时候.
至于怎么检测冲突,简单点说,就是需要硬件(CPU)支持,详细情况可以参考下面的博文,不过是针对ConcurrentHashmap的.
http://flyfoxs.iteye.com/admin/blogs/2100120
1.5之后加入的那些ConcurrentXXXXX集合为什么说是线程安全的一直没怎么搞清楚,2个线程同时操作不用加锁也能保证数据正确?我觉得还是要在处理此集合的对方加入集合对象锁。不然还是不能保证数据完整性
相关推荐
java线程同步java线程同步java线程同步
java线程同步实例,哲学家思考的代码实现,应该是一个比较好的例子
Java多线程同步论文.doc
java多线程同步互斥访问实例,对于初学者或是温故而知新的同道中人都是一个很好的学习资料
java线程同步
Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁 Java线程:volatile关键字 Java线程:新特征-线程池 Java线程:新特征-有返回值的线程 ...
电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...
java线程同步的例子.doc java线程同步的例子.doc
Java线程(二):线程同步synchronized和volatile 详细讲解Java 同步的原理技术资料
Java 线程同步调用的使用,以及同步方法的调用!
关于线程同步 synchronize,需要牢牢记住的第一点是:线程同步就是线程排队。同步就是排队。线程同步的目的就是避免线程“同步”执行。
操作系统实验 多线程同步与互斥 java编写 可动态创建
Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解
里面讲述了关于java线程同步的信息·······
JAVA代码采用线程来实现数据库的主从同步更新
Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁 Java线程:volatile关键字 Java线程:新特征-线程池 Java线程:新特征-有返回值的...
java 多线程同步方法的实例 java 多线程同步方法的实例 java 多线程同步方法的实例
JAVA100例之实例65 JAVA线程同步
Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程
1.线程同步 2.线程间通信 3.线程挂起、恢复和终止 demo演示