摘要: 1.读写锁:一个资源可以被多个读线程访问,或者可以被一个写线程访问,但是不能同时存在读写线程,读写互斥,读读共享的。 代码如下: class MyCache { private volatile Map<String,Object> map = new HashMap<>(); private Re 阅读全文
posted @ 2021-07-18 23:36 从精通到陌生 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.CountDownLatch 代码如下: public class CountDownLatchDemo { public static void main(String[ ]args) throws InterruptedException { CountDownLatch countDown 阅读全文
posted @ 2021-07-18 16:00 从精通到陌生 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 1.FutureTask是Runnable接口的实现类,刚好构造器方法可以传入Callable.,然后就可以通过 new Thread(new FutureTask(new Callable())).start()类似方法创建线程执行,习惯使用lambda表达式。 代码如下: class MyThr 阅读全文
posted @ 2021-07-18 11:39 从精通到陌生 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1.什么是死锁? 两个或2个以上进程在执行过程中,因为争夺资源而造成一种互相等待的现象,如果没有外力干涉,他们无法在执行下去。 2.产生死锁原因: 1.系统资源不足 2.进程运行推进顺序不合适 3.资源分配不当 代码如下: public class DeadLock { public static 阅读全文
posted @ 2021-07-18 10:50 从精通到陌生 阅读(44) 评论(0) 推荐(0) 编辑