摘要:
处理多线程可以从信号量和管程来进行。Linux就是使用信号量对进行多线程的。 信号量是1965荷兰Dijkstra为了解决并发进程问题 而提出的一个重要操作系统的思想 信号量是操作系统提供的一种协调共享资源访问的方法。和用软件实现的同步比较,软件同步是平等线程间的的一种同步协商机制,不能保证原子性。 阅读全文
posted @ 2020-12-28 16:31
smartcat994
阅读(384)
评论(0)
推荐(0)
摘要:
多线程的思想是不让CPU空跑。JVM的特点之一是堆可共享——>安全问题,CPU,L1,L2,L3闪电缓存——>不一致。 所以并发编程中需要注意的问题: 安全性问题、活跃性问题和性能问题。 安全性问题指:可见性,原子性,有序性 其实只有一种情况需要:存在共享数据并且该数据会发生变化,通俗地讲就是有多个 阅读全文
posted @ 2020-12-28 15:19
smartcat994
阅读(125)
评论(0)
推荐(0)
摘要:
死锁的一种解决方式可以通过循环来对资源进行重复请求做到。循环的作用就是为了获取资源。 // 一次性申请转出账户和转入账户,直到成功 while(!actr.apply(this, target)) ; 如果 apply() 操作耗时非常短,而且并发冲突量也不大时,这个方案还挺不错的,因为这种场景下, 阅读全文
posted @ 2020-12-28 10:21
smartcat994
阅读(144)
评论(0)
推荐(0)

浙公网安备 33010602011771号