线程基本概览:

进程是为操作系统中为提供任务的并发性而提出的,是资源分配和调度的基本单位。线程将进程的两个属性分离,作为调度的基本单位而形成的。故而多线程的编程离不开操作系统的支持。

有了线程的并发性,然后有了资源的共享,锁的实现变来源于此。

互斥锁是为上锁而优化,条件变量是为等待而优化的,信号灯即可用于上锁,也可用于等待。