并发的集合类
Posted 苏轼的红烧肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发的集合类相关的知识,希望对你有一定的参考价值。
package duoxiancheng; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; public class TestQueue { public static void main(String[] args) { BlockingQueue<String> queue=new ArrayBlockingQueue<String>(10); new Save(queue).start(); new Get(queue).start(); new Get(queue).start(); } } class Save extends Thread{ BlockingQueue<String> queue; static Object obj="hello"; static int i=0; public Save(BlockingQueue<String> queue) { super(); this.queue = queue; } public void run(){ while(true){ try { synchronized (obj) { queue.put("张飞"+i++); } Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } class Get extends Thread{ BlockingQueue<String> queue; public Get(BlockingQueue<String> queue) { super(); this.queue = queue; } public void run(){ int i=1; while(true){ try { System.out.println("队列中的个数是"+queue.size()); System.out.println(Thread.currentThread().getName()+":"+queue.take()); Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
以上是关于并发的集合类的主要内容,如果未能解决你的问题,请参考以下文章
Java并发多线程编程——集合类线程不安全之ArrayList的示例及解决方案
[Java 并发编程实战] 集合框架之 同步容器类 & 并发容器类