import java.util.Random;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;/*** TODO 在此写上类的相关说明.<br>* @author gongqiang <br>* @version 1.0.0 2021年6月2日<br>* @see * @since JDK 1.5.0*/
public class BlockingQueueDemo {/*** @param args*/public static void main(String[] args) {final BlockingQueue<Integer> blockQueue = new LinkedBlockingQueue<>(10);new Thread(() -> {while (true) {try {final Integer value = new Random().nextInt();final boolean success = blockQueue.offer(value);if (success) {System.out.println("向阻塞队列添加" + value + "成功。");}Thread.sleep(7000);} catch (InterruptedException e) {Thread.currentThread().interrupt();}}}).start();new Thread(() -> {while (true) {try {final Integer value = blockQueue.take();System.out.println("从阻塞队列获取" + value + "成功。");} catch (InterruptedException e) {Thread.currentThread().interrupt();}}}).start();try {Thread.sleep(60 * 60 * 1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

线程WAITING--BlockingQueueDemo相关推荐

  1. 正确理解线程WAITING状态

    正确理解线程WAITING状态 今天来学习下,Java的线程状态,重点讨论下thread.state.WAITING.讨论下线程如何进入此状态,以及它们之间的区别.最后,我们进一步了解java.uti ...

  2. 太逗了,面试官让我讲线程 WAITING 状态!

    面试官Q:你讲下线程状态中的WAITING状态,什么时候会处于这个状态?什么时候离开这个状态? 小菜J 会心一笑... 一个正在无限期等待另一个线程执行一个特别的动作的线程处于WAITING状态. & ...

  3. 【问题】【实用】java服务假死【CLOSE_WAIT】【线程WAITING】

    线上的服务,突然无法调用了.而且几天就无法使用,必须要重新启动才能好.进行总结一下,避免以后再次遇到. 问题排查步骤 检查是否服务异常(OOM)或GC异常 查看线程是否存活. ps -aux|grep ...

  4. Java 线程状态---WAITING(部分转载)

    看到一篇关于写线程waiting状态的文章,感觉很生动有趣,转过来保存下. 总结: waiting这个状态,就是等待,明确了等待,就不会抢资源了. 一个线程A在拿到锁但不满足执行条件的时候,需要另一个 ...

  5. java for(o t :object) 获取顺序号_java中线程的生命周期

    线程是java中绕不过去的一个话题, 今天本文将会详细讲解java中线程的生命周期,希望可以给大家一些启发. java中Thread的状态 java中Thread有6种状态,分别是: NEW – 新创 ...

  6. java中线程的生命周期

    文章目录 java中Thread的状态 NEW Runnable BLOCKED WAITING TIMED_WAITING TERMINATED java中线程的生命周期 线程是java中绕不过去的 ...

  7. Java核心(一)线程Thread详解

    一.概述 在开始学习Thread之前,我们先来了解一下 线程和进程之间的关系: 线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位. 线程不能够独立执行,必须依存在应用程序中,由应用程 ...

  8. Java线程状态总结

    目录 一.初始Java线程的所有状态 1.输出所有状态名 2.所有状态解释 3.线程的状态和转移图解 二.通过Java程序观察线程状态 1.isAlive()观察线程NEW,RUNNABLE,TERM ...

  9. JAVA线程状态的10种转换

    JAVA线程状态转换 参考视频:https://www.bilibili.com/video/BV16J411h7Rd 后续将继续补充,同时完善. 情况1NEW–>RUNNABLE ​ 当调用t ...

  10. Jstack查询线程堆栈

    Jstack是什么? jstack是java虚拟机自带的一种堆栈跟踪工具. jstack主要用来查看Java线程的调用堆栈的,可以用来分析线程问题(如死锁).线程快照是当前java虚拟机内每一条线程正 ...

最新文章

  1. 记一次网易前端实习面试
  2. PHP字符串替换函数选择
  3. android listview源码--第一章RecycleBin
  4. Google Hacking技术
  5. 加密货币的寒冬如何破冰?
  6. 工程linux下创建svn仓库目录结构
  7. flex align-center:center多行垂直方向居中 align-items:center垂直方向单行居中
  8. 第二阶段个人工作总结03
  9. 使用HP优盘启动盘格式化工具制作DOS7.1启动盘,U盘.SD.TF卡均可用
  10. webserver技术总结之一:webserver概念
  11. dell计算机环境温度,戴尔桌面使用和维护的考虑.doc
  12. python实现garch模型_【一点资讯】Python玩转金融时间序列之ARCH与GARCH模型
  13. One-dimensional Japanese Crossword(codeforces 712A)
  14. 选票统计 SDUT
  15. python入门指南阅读答案_第二章 _【Python入门指南】免费在线阅读 - 九六城堡小说论坛...
  16. 强烈推荐几款IDEA插件,12款小白神器
  17. 如何通过TXT文件批量生成DataMatrix码
  18. 学计算机轻松的表情包,轻松的表情包
  19. 如果不能产生价值,阅读便毫无意义
  20. 送书 | 《商品期货量化交易实战》

热门文章

  1. 以DES的方式实现对称加密,并提供密钥
  2. tensorflow--embedding_lookup 和 embedding_lookup_sparse
  3. Java栈内存、堆内存、方法区对对象和引用的关系
  4. Android开发艺术探究Note
  5. 18 4Sum(寻找四个数之和为指定数的集合Medium)
  6. 开发过程中编写的一些批处理
  7. Oracle 配置监听和本地网络服务
  8. ubuntu server版本安装指南(1)
  9. 在 IE 中使用 HTML5 元素
  10. 用VML画图(一些基本的矢量图)(转)