并发的集合类

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 并发编程实战] 集合框架之 同步容器类 & 并发容器类

golang goroutine例子[golang并发代码片段]

Java并发编程之set集合的线程安全类你知道吗

JUC——并发集合类

JUC并发编程 共享模式之工具 JUC 线程安全的集合类 -- 线程安全的集合类概述