摘要:
死锁了怎么办? 前面说使用Account.class作为转账的互斥锁,这种情况下所有的操作都串行化,性能太差,这个时候需要提升性能,肯定不能使用这种方案. 现实化转账问题 假设某个账户的所有操作都在账本中,那转账操作需要两个账户,这个时候有三种情况: 1. 两个账户的账本都存在,这个时候一起拿走 2 阅读全文
摘要:
并发编程的三个核心问题: 1. 分工 : 高效的拆解任务分给线程 2. 同步 : 线程之间的协作 3. 互斥 : 保证同一时刻只允许一个线程访问共享资源 这个其实不难理解,做个简单的比喻,我们团队做一个项目的时候肯定是先分配任务(分工),然后等到任务完成进行合并对接(同步),在开发过程中,使用版本控 阅读全文