摘要:
多线程的思想是不让CPU空跑。JVM的特点之一是堆可共享——>安全问题,CPU,L1,L2,L3闪电缓存——>不一致。 所以并发编程中需要注意的问题: 安全性问题、活跃性问题和性能问题。 安全性问题指:可见性,原子性,有序性 其实只有一种情况需要:存在共享数据并且该数据会发生变化,通俗地讲就是有多个 阅读全文
摘要:
死锁的一种解决方式可以通过循环来对资源进行重复请求做到。循环的作用就是为了获取资源。 // 一次性申请转出账户和转入账户,直到成功 while(!actr.apply(this, target)) ; 如果 apply() 操作耗时非常短,而且并发冲突量也不大时,这个方案还挺不错的,因为这种场景下, 阅读全文