用户方式同步的优点是它的同步速度非常快。但它也有其局限性。
例如,互锁函数家族只能在单值上运行,根本无法使线程进入等待状态。可以使用关键代码段使线程进入等待状态,但是只能用这些代码段对单个进程中的线程实施同步。还有,使用关键代码段时,很容易陷入死锁状态,因为在等待进入关键代码段时无法设定超时值。
内核对象机制的适应性远远优于用户方式机制。实际上,内核对象机制的唯一不足之处是它的速度比较慢(用户方式转为内核方式是1000个CPU周期)。
线程内核对象总是在未通知状态中创建。当线程终止运行时,操作系统会自动将线程对象的状态改为已通知状态。
下面的内核对象可以处于已通知状态或未通知状态:
| 
 ■ 进程  | 
 ■ 文件修改通知  | 
| 
 ■ 线程  | 
 ■ 事件  | 
| 
 ■ 作业  | 
 ■ 可等待定时器  | 
| 
 ■ 文件  | 
 ■ 信标  | 
| 
 ■ 控制台输入  | 
 ■ 互斥对象  | 
线程同步的各种内核对象:事件、等待计数器,信标和互斥对象。
本文地址:http://www.cnblogs.com/fangyukuan/archive/2010/09/03/1817083.html
                    
                

                
            
        
浙公网安备 33010602011771号