多线程同步对象的比较

1.   互斥对象(Mutex)和事件对象(Even)都是内核对象,利用内核对象进行线程同步,速度较慢,但内核对象(Mutex、Even)可以为线程设置超时时间,以有效的解决线程死锁的问题。在多线程中可以在各个线程间进行同步(书上说的,不明白什么意思)。

2.临界区(CriticalSection)工作在用户模式下,同步速度较快。但不能设置超时值,所以很容易进入线程死锁。

3.  Mutex和Even的区别:Mutex创建后,就立即进入有信号状态,可以指定在创建后当前线程是否拥有信号。Even可以在创建时,设置该对象的信号时自动重置还是人工重置,可以指定对象创建后是否立即为有信号状态。

    两个都可以设置对象的“名字”,用这个名字可以控制程序只有一个实例可以运行.

 

线程同步中可以使用的还有如:Semaphore(信标内核对象)等,继续学习中.....

你可能感兴趣的:(线程同步)