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

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

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();
}
} }

最新文章

  1. 好用的dos命令
  2. python 装饰器
  3. PLSQL Developer图形化窗口创建数据库全过程
  4. Xcode 自动升级到8.21后坑-Abort trap: 6
  5. html body标签的几个属性 禁用鼠标右键,禁用鼠标选中文字等
  6. 苹果新的编程语言 Swift 语言进阶(十二)--选项链
  7. 【python】初识python的问题
  8. My new life
  9. Java之面向对象例子(二)
  10. BP算法从原理到python实现
  11. 浅析vue2.0的diff算法
  12. vue監聽屬性
  13. HR算法具体过程
  14. STL的内存管理
  15. java并发编程()阻塞方法与中断方法
  16. 打开win8及以上操作系统的系统已安装程序目录
  17. Unity 扩展编辑器
  18. ActiveMQ 性能调优
  19. HBase-存储-HFile格式
  20. 原生MapReduce开发样例

热门文章

  1. 导出远程oracle数据库到本地
  2. RMI(远程方法调用)
  3. 笔记-4:python组合数据类型
  4. Spring Boot(一) 初步理解Spring Boot
  5. go环境变量配置 (GOROOT和GOPATH)的区别和含义
  6. git提交项目到码云
  7. python+django学习二
  8. vue.js devtools图标不亮
  9. XWork配置示例
  10. interrupt分析