多线程
文章平均质量分 52
可爱组长
这个作者很懒,什么都没留下…
展开
-
线程- Condition实现 有界队列 生产者和消费者
线程- Condition实现 有界队列设计思路测试设计思路BoundedQueue boundedQueue = new BoundedQueue(2);BoundedQueue 初始化,并设置队列的大小 count 为 2add(T t),往队列中添加元素,如果队列中的长度不大于 count的值,直接加入队列,唤醒等待队列的线程(消费队列中的数据),如果此时队列满了,等待(等待队列消费之后唤醒)添加元素,如果此时队列满了,需要等待 await(),当成功添加一个元素,需要唤醒其他消费队列原创 2021-01-04 16:21:36 · 91 阅读 · 0 评论 -
手写单例双重检查
手写单例双重检查直接上代码,稍后简单分析一下:public class Singleton{ // 创建私有的构造方法 private Singleton(){} // 私有化成员变量 private static volatile Singleton instance = null; //公共的获取成员变量的方法 public Singleton getInstance(){ if(instance == null){ synchronized(Singleton原创 2020-10-30 11:05:27 · 259 阅读 · 5 评论 -
多线程-多线程的状态切换
多线程的状态介绍以上图示含义RUNNABLE 和 BLOCK 转化RUNNABLE 和 WAITING 转化RUNNABLE 和 TIMED-WAITING 转化总结以上内容多引自 《Java多线程编程实战指南+设计模式篇》一书java语言中,一个线程从创建、启动、到运行结束的生命周期结束经历若干个状态:新建、可运行、阻塞、等待、终止New 一个刚创建而未启动的线程处于该状态,由于...原创 2020-04-14 17:26:24 · 618 阅读 · 0 评论 -
多线程-死锁检测的方法工具 jconsole、jstack 简单使用
多线程死锁工具的使用死锁案例jconsole 工具的使用jstack 的使用死锁案例public class DeadLockDemo { /** A锁 */ private static String A = "A"; /** B锁 */ private static String B = "B"; public static void main(...原创 2020-04-03 17:05:38 · 289 阅读 · 0 评论