> import java.util.concurrent.BlockingQueue;
> import java.util.concurrent.ExecutorService;
> import java.util.concurrent.Executors;
> import java.util.concurrent.LinkedBlockingQueue;
~~~
public class Main {
public static void main(String[] args){
//内存缓冲区
BlockingQueue<Data> queue = new LinkedBlockingQueue<Data>(10);
//生产者
Provider p1 = new Provider(queue);
Provider p2 = new Provider(queue);
Provider p3 = new Provider(queue);
Consumer c1 = new Consumer(queue);
Consumer c2 = new Consumer(queue);
Consumer c3 = new Consumer(queue);
//创建线程池,这是一个缓存的线程池,可以创建无穷大的线程,没有任务的时候不创建线程,空闲线程存活的时间为60s。
ExecutorService cachepool = Executors.newCachedThreadPool();
cachepool.execute(p1);
cachepool.execute(p2);
cachepool.execute(p3);
cachepool.execute(c1);
cachepool.execute(c2);
cachepool.execute(c3);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
p1.stop();
p2.stop();
p3.stop();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
~~~
- 序
- 求职路
- 笔试准备
- Huawei题库
- 剑指Offer
- 面试准备
- Java技术栈
- 设计模式
- Java框架
- Spring
- SpringBoot
- SpringCloud
- SpringMVC
- Spring基础
- ORM
- Hibernate
- MyBatis
- 分布式
- 分布式计算
- 分布式存储
- 消息队列
- 消息中间件
- 生产者消费者
- Provider
- Data
- Consumer
- Main
- 校招宣讲招聘会
- 哈工大九月
- 数据库
- MySQL
- Redis
- 面试经历
- Alibaba
- 第二面-Alibaba
- 第一面-Alibaba
- Xiaomi
- Xiaomi一面
- Xiaomi二面
- Yonyou
- Yonyou一面+HR
- Huawei
- Huawei一面
- Huawei二面
- 一个小结
- 工作路
- 万里长征第一步
- Huawei签约
- 技术路
- 开源之路
- 初试探
- 技术栈
- 编程语言
- OpenCV
- 从Java 和C++玩转OpenCV
- 第一章
- 介绍
- 第一节