队列BlockingQueue的简单例子
2024-09-05 08:16:02
队列,当进行多线程编程的时候,很多时候可能会用到,队列是先进先出的,我们可以将要执行的任务放置在队列内缓存起来,当线程池中线程可以使用的时候,我们就从队列中获取一个任务执行。。
当前是一个队列的简单例子。
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();
}
} }
最新文章
- 好用的dos命令
- python 装饰器
- PLSQL Developer图形化窗口创建数据库全过程
- Xcode 自动升级到8.21后坑-Abort trap: 6
- html body标签的几个属性 禁用鼠标右键,禁用鼠标选中文字等
- 苹果新的编程语言 Swift 语言进阶(十二)--选项链
- 【python】初识python的问题
- My new life
- Java之面向对象例子(二)
- BP算法从原理到python实现
- 浅析vue2.0的diff算法
- vue監聽屬性
- HR算法具体过程
- STL的内存管理
- java并发编程()阻塞方法与中断方法
- 打开win8及以上操作系统的系统已安装程序目录
- Unity 扩展编辑器
- ActiveMQ 性能调优
- HBase-存储-HFile格式
- 原生MapReduce开发样例