![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
xwl666666
向着offer冲冲冲
展开
-
线程状态转换
转载 2021-03-10 20:41:17 · 92 阅读 · 0 评论 -
park()和unpark()
插个眼 先调用park()再调用unpark() 先调用unpark()再调用park()原创 2021-03-10 20:10:12 · 187 阅读 · 0 评论 -
join()源码分析--多线程设计模式(保护性暂停)
join()方法用到了保护性暂停的多线程设计模式 写在前面 虚假唤醒:当前线程还未获得值,但是因为其他线程调用notify()或notifyAll()方法将其唤醒,使其错误的向下执行。 例子: public class test1 { static final Object room = new Object(); //两个状态变量 static boolean flag = false; static boolean tag = false; public static原创 2021-03-10 12:16:53 · 101 阅读 · 1 评论 -
可重入锁的相关疑惑
多线程可重入锁的相关疑惑 在进行多线程的相关学习时,一定要先清楚synchronized的锁的对象到底是什么。 1、synchronized修饰普通方法时,锁住的是该对象。 2、synchronized修饰代码块时,锁住的时该对象。 3、synchronized修饰被static修饰的方法时,锁住的是所有使用该类的对象。 4、synchronized修饰类时,锁住的是所有该类的对象。 为什么synchronized在存在继承关系的对象中可以锁重入进入父类的方法 比如下面这个例子 //父类 public cl原创 2021-03-08 22:30:34 · 81 阅读 · 0 评论