JUC
好想学习呀
我也想写出优质代码
展开
-
使用Lock锁实现生产者消费者模式
搞清楚两个知识点 : ① await会释放当前线程的锁,使得当前线程阻塞. ② singal 会唤醒其他在等待的线程,并且立即执行到被等待的线程那里. package Produce_ConSumer; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * @author ct原创 2021-08-31 15:19:18 · 303 阅读 · 0 评论 -
验证Java内存模型的代码
public class Voliate_ { static int c=0; public static void main(String[] args) { new Thread(()->{ try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace原创 2021-06-27 12:50:59 · 65 阅读 · 1 评论 -
IllegalMonitorStateException
这个异常我暂时还是想不明白,大概查了一下百度,调用线程的唤醒,等待等操作,必须有这个资源类的对象才能,而且还是唯一持有者,所以必须在加锁的方法里面完成调用 package CommunicactionThread03; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public cl原创 2021-05-25 23:02:20 · 217 阅读 · 1 评论