> import java.util.Random;
> import java.util.concurrent.BlockingQueue;
~~~
public class Consumer implements Runnable {
private BlockingQueue<Data> queue;
public Consumer(BlockingQueue queu){
this.queue = queu;
}
//隨機對象
private static Random r = new Random();
@Override
public void run() {
while(true){
try{
//獲取數據,從頭部獲取如果沒有則等待
Data data = this.queue.take();
//進行數據處理,休眠 0-1000毫秒模擬耗時
Thread.sleep(r.nextInt(1000));
System.out.print("當前消費線程"+Thread.currentThread().getName() +",消費成功,消費id為"+data.getId());
}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
- 第一章
- 介紹
- 第一節