zoukankan      html  css  js  c++  java
  • 队列BlockingQueue的简单例子

    队列,当进行多线程编程的时候,很多时候可能会用到,队列是先进先出的,我们可以将要执行的任务放置在队列内缓存起来,当线程池中线程可以使用的时候,我们就从队列中获取一个任务执行。。

    当前是一个队列的简单例子。

    package com.chen.queue;
    
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Random;
    import java.util.concurrent.BlockingQueue;
    import java.util.concurrent.LinkedBlockingQueue;
    
    public class QueueTest
    {
    
        /** 测试队列、先进先出
         * @author : EX-CHENWEIXIAN001 陈惟鲜
         * @create_date :2014-6-6 下午03:33:39
         * @param args
         */
        public static void main(String[] args)
        {
            try
            {
                // 常用创建队列方式
                BlockingQueue<Map> blockingQueue = new LinkedBlockingQueue<Map>();
                Random random = new Random();// 随机函数
                for (int i = 0; i < 5; i++)
                {
                    Map tempMap = new HashMap();
                    tempMap.put("key" + i, random.nextInt(100)); // 创建队列map
                    blockingQueue.add(tempMap);// 给队列添加信息
                }
    //             队列大小
                int blockingQueueSize = blockingQueue.size();
                System.out.println("=========================");
                System.out.println(blockingQueueSize); 
                System.out.println(blockingQueue); // 队列内容
                System.out.println("=========================");
                for (int i = 0; i < blockingQueueSize; i++)
                {
                    System.out.println(i+"===++++++++++===");
                    Map tempMap = blockingQueue.take();// 取出队列值,取一次,就从队列中移除
                    System.out.println(tempMap); // 打印内容
                    // 打印队列是否还有东西
                    System.out.println(blockingQueue);
                }
                System.out.println("=========game over================");
            } catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    
    }
  • 相关阅读:
    内存映射文件点滴
    [Buzz.Today]“估摸”手机:Google收购摩托罗拉
    QT程序中的事件处理
    又是一个开始
    HTTP 协议基础
    深入理解HTTP消息头
    HTTP请求模型和头信息
    十个让你变成糟糕的程序员的行为
    获取上层调用函数地址的代码
    MIME类型大全
  • 原文地址:https://www.cnblogs.com/a393060727/p/3772800.html
Copyright © 2011-2022 走看看