首页 > 代码库 > 队列BlockingQueue的简单例子
队列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(); } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。