![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java线程
文章平均质量分 66
emmmmsuperdan
这个作者很懒,什么都没留下…
展开
-
volatile关键字和原理及并发编程的三大特性:原子性,可见性,有序性
http://www.importnew.com/24082.html首先了解一下并发编程的一些内容:介绍线程之间读取数据的流程原子性可见性:有序性:开始介绍volatile关键字的作用:但是!!volatile(应用场景)和synchronized关键字的区别:(volatile修饰变量,synchro...原创 2018-08-10 15:37:19 · 4228 阅读 · 2 评论 -
java线程、线程池,类、对象锁 java线程通信,线程的状态 wait/notify
同步:发送一个指令,需要等待返回结果,才能发出下一个指令,需要等待;异步:发送一个指令,不需要等待,即可直接发出下一个指令;一般情况下,都采用异步,效率更高;但是比如说银行系统,必须采用同步,这样才能保证数据的共享和安全性;synchronize关键字:每个 synchronized 方法都必须获得调用该方法的类实例的锁(或者类锁)方能执行,否则所属线程阻塞;直到synchr...原创 2018-03-23 11:26:29 · 5867 阅读 · 1 评论 -
java死锁和解决方法
原创 2018-08-11 10:11:50 · 169 阅读 · 0 评论 -
java wait/notify实战——生产者消费者
对于生产者那边:如果生产的物品超过了库存容量,生产对象锁就wait(上锁),否则就通知消费者;对于消费者那边:如果消费的物品超过了仓库中存放的物品数量,消费线程就wait,否则就通知生产者;...原创 2018-08-15 09:29:57 · 145 阅读 · 0 评论 -
Java 锁类型 Synchronized和 ReentrantLock wait和sleep以及notify
线程获取锁的过程:成功获取锁的线程,它会从等待队列中出列,并得到共享资源;没有获取到锁的线程,继续在等待队列中,阻塞在lock方法;线程释放锁的过程:通过 在finally语句中的unlock方法,将锁释放,然后等待队列中的线程去竞争这个锁;悲观锁:每次访问数据线程都是处于阻塞的状态,这样提高安全性,像读锁,写锁都是用到了悲观锁,以及...原创 2018-08-27 20:13:31 · 16121 阅读 · 1 评论