进程基本状态转换
同步与互斥的关系
互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。
同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源
线程同步方法
- 临界区(CCriticalSection):唯一资源的互斥,线程间使用
- 互斥量(CMutex):唯一资源的互斥,进程间使用,开销比临界区大
- 信号量(CSemaphore):多资源的互斥
- 事件(CEvent):线程间的同步(结合 WaitForSingleObject)
参考:《多线程编程之四——线程的同步》