并发编程的核心要素:任务、资源、(状态)结果
在此基础上衍生出:
任务的管理工具:线程池、actor、gcd、group等;
资源的管理工具:锁、mvcc等;
状态的管理工具:线程间通信、同步工具等;
并发编程实际上是一个运行时复杂系统的管理工具。
任务的整体性(协调)、任务的可分割性;
任务的状态;
资源:读写资源、排他资源、计数资源;
一致性:
资源状态的一致性;
计算结果的一致性;
并发编程是对并发计算的管理;
任务(整体与部分)、资源、状态(结果)、
分工、竞争、协作;
模型、同步工具、同步工具;
线程、锁、
并发与计算机
并发是对cpu复用的抽象。
计算性并发:cpu+mem;
IO性并发:网络、文件、标准输入;
并发和异步