并发
九月的小海
这个作者很懒,什么都没留下…
展开
-
Java内存模型笔记:重排序
首先看下面这段代码,看起来似乎while循环永远都不会被异常终止,(tester.x_read, tester.y_read)似乎不会又(0,0)这种结果,但实验一下会发现,while很高的几率被异常终止,因为编译器和执行器在执行代码指令时,并不会完全按照我们书写的顺序执行,而是通过重排序提高执行效率。重排序后的指令需保证单线程中重排序后语义不变,但多线程中(本例中场景)则无法保证。public...原创 2019-05-06 10:08:41 · 142 阅读 · 0 评论 -
并发容器中常用的同步组件
CountDownLatch通过基数来保证线程是否需要一直阻塞。public class CountDownLatchExample { private static int threadCount = 200; public static void main(String[] args) throws InterruptedException { Execut...原创 2019-05-20 10:33:03 · 150 阅读 · 0 评论 -
死锁案例
线程不安全void transfer(Account from, Account to, int amount) { from.setAmout(from.getAmount - amount); to.setAmount(to.getAmount + amount);}加锁导致死锁void transfer(Account from, Account to, int a...原创 2019-05-20 10:40:22 · 387 阅读 · 0 评论