zoukankan      html  css  js  c++  java
  • 生产者-消费者 用阻塞队列实现

    使用阻塞队列代码要简单得多,不需要再单独考虑同步和线程间通信的问题

    在并发编程中,一般推荐使用阻塞队列

    public class BolckQuene_Pro_Con
    {
        private int queueSize = 10;//队列允许存放的最大数
        private ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<Integer>(queueSize);//阻塞队列
        
        public static void main(String[] args)  {
            BolckQuene_Pro_Con test = new BolckQuene_Pro_Con();
            Producer producer = test.new Producer();
            Consumer consumer = test.new Consumer();
             
            producer.start();
            consumer.start();
        }
        
        class Consumer extends Thread{
            @Override
            public void run() {
                consume();
            }
            private void consume() {
                while(true){
                    
                    try {
                        Thread.sleep(300);
                        queue.take();
                        System.out.println("【消费者】从队列取走一个元素,队列剩余"+queue.size()+"个元素");
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
         
        class Producer extends Thread{
            @Override
            public void run() {
                produce();
            }
            private void produce() {
                while(true){
                    try {
                        Thread.sleep(200);
                        queue.put(1);
                        System.out.println("【生产者】向队列取中插入一个元素,队列中元素:"+queue.size());
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    逃避不一定躲得过,面对不一定最难过
  • 相关阅读:
    C#读写xml文件
    实现SQL_SERVER的双机实时备份
    Microsoft .NET Pet Shop 4 架构与技术分析
    xp系统运行asp.net时候出现“服务器应用程序不可用”的必杀
    获取服务器根域名
    C#如何创建Xml文件
    用C#创建XML[简单代码]
    关闭Viewstate
    数字签名
    IE插件
  • 原文地址:https://www.cnblogs.com/yangzhenlong/p/5231659.html
Copyright © 2011-2022 走看看