JAVA并发
- 方法论:描绘全景图,在图中深入到细节
-
关键词
为什么:性能;
是什么:分工、同步、互斥 -
细节
1) 分工:一件事分为多个任务,分给多个人同时做;
2) 同步:也叫协作。多个任务间可能有依赖(如A依赖B),当B完成时,A需要被唤醒;当B未完成时,A需要等待。A:wait,future.get()等; B:需要唤醒A,notify;实现基础是管程;
3) 互斥:当多个人协作时,可能需要更新相同的资源,需要保证资源的安全性。保证可见性、原子性、有序性,引入java内存模型解决,利用模型的规则解决可见性、有序性。还不足以解决线程安全问题,需要互斥:共享资源在同一时刻只能被一个线程访问; -
全景图:
待填充
学习来源:极客时间-JAVA并发编程实战-0学习攻略