![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
锁
helloarst
心之所愿,无所不成!
展开
-
java中的锁
面试过程中,也被问过几次关于Java中锁的问题,面试官一般是这么问:你了解Java中的锁吗?有几种?都有什么区别?讲一讲。 大致可以分为这几点:锁是什么,有什么用,有哪几种锁,锁的区别。 一:锁是什么,有什么用? 锁主要用来实现资源共享的同步。只有获取到了锁才能访问该同步代码,否则等待其他线程使用结束释放锁。 二:有哪几种锁? 这里主要针对:synchro...转载 2018-10-07 11:51:28 · 110 阅读 · 0 评论 -
JUC-CountDownLatch
CountDownLatch:闭锁它被用来同步一个或多个任务,强制它们等待由其他任务执行的一组操作完成。 你可以向CountDownLatch对象设置一个初始计数值,任何在这个对象上调用wait()的方法都将阻塞,直至这个计数值到达0,其它任务在结束其工作时,可以在该对象上调用CountDown()来减小这个计数值。package com.tongtong.app3;import...原创 2018-10-08 10:24:02 · 121 阅读 · 0 评论 -
JUC-原子类(AtomicInteger)
引入:我们都知道i++在java中不是原子操作,因为i++的操作实际上分为三个步骤“读-改-写”,int i =10;i = i++;实际上是分为下面几步:int temp = i;i = i + 1;i = temp; 反编译后可以看到每条指令都会产生一个get和put,它们之间还有一些其他的指令。因此在获取和放置之间,另一个任务可能会修改这个域,所以这些操作不...原创 2018-10-08 13:12:28 · 116 阅读 · 0 评论 -
线程八锁
题目:判断一下以下程序打印的是 "one" or "two"?1.两个普通同步方法,两个线程 。--》打印:one twopackage com.tongtong.app8;/** * * 1.两个普通同步方法,两个线程. */public class TestThread8Monitor { public static void main(String[] a...原创 2018-10-08 16:23:34 · 253 阅读 · 0 评论 -
构成死锁的必要条件是什么?如何检测死锁,解除死锁?
死锁概念: 所谓死锁,是指两个或者两个以上线程在执行过程中,因争夺资源而产生互相等待的现象,若无外力作用,他们都将无法推进下去,此时,称系统处于死锁。产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序...转载 2018-10-09 20:11:18 · 574 阅读 · 0 评论