线程同步和互斥

异步:好比赛跑,各跑各的,互不打扰

同步:好比接力赛,必须接棒后才能跑

互斥:好比独木桥,一次只能过一个

 

 

线程互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的

线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态

WIN32中的同步机制主要有:

1).临界区(Critical section)

2).信号量(semaphore)

3).互斥量(mutex)

4).事件(Event)

 

 

用户模式下:临界区,通过对多线程的串行化的操作来访问公共资源或一段代码,速度快,适合控制数据访问。

内核模式下:1.互斥量:为协调共同对一个共享资源的单独访问而设计。

                      2.信号量:为控制一个具有有限数量用户资源而单独设计。

                      3.事件:用来通知线程有一些事件已经发生,从而启动后继任务的开始。

 

posted @ 2020-04-01 09:18  坦坦荡荡  阅读(611)  评论(0)    收藏  举报