多线程中内核对象人工重置和自动重置的区别
2008-06-04 11:19
351 查看
在多线程编程中,要创建内核对象可以有两个选择,即可以将内核对象创建为人工重置方式,也可以创建为自动重置方式
人工重置方式的时候,一旦内核对象得到通知,所有等待该内核对象的线程都变为可调度线程,等待CPU分配时间,如果程序没有主动将该内核置为未通知状态,则内核对象将一直处于通知状态,所有等待该内核对象的线程也将一直处于可调度状态。若要将该内核对象置为未通知状态,需要程序主动去做这件事,即主动将内核对象置为未通知状态。
自动重置方式的时候,一旦内核对象变为通知状态,则所有等待该内核对象的线程只有一个线程变为可调度线程,等待CPU分配执行时间,然后该内核对象有马上自动重置成未通知状态。
人工重置方式的时候,一旦内核对象得到通知,所有等待该内核对象的线程都变为可调度线程,等待CPU分配时间,如果程序没有主动将该内核置为未通知状态,则内核对象将一直处于通知状态,所有等待该内核对象的线程也将一直处于可调度状态。若要将该内核对象置为未通知状态,需要程序主动去做这件事,即主动将内核对象置为未通知状态。
自动重置方式的时候,一旦内核对象变为通知状态,则所有等待该内核对象的线程只有一个线程变为可调度线程,等待CPU分配执行时间,然后该内核对象有马上自动重置成未通知状态。
相关文章推荐
- 自动重置事件对象与人工重置事件对象
- 多核编程中CreateEvent ()中人工重置和自动重置事件区别
- 多线程火车票售票系统——人工重置事件对象实现线程同步(会有问题的)
- 多线程火车票售票系统——自动重置事件对象实现线程同步
- 多线程 -- 等待函数、事件内核对象
- 多线程系列之——事件内核对象
- 第一个多线程程序+对象和句柄的区别+感悟
- 驱动开发(12)内核中的多线程和同步对象
- 多线程之旅之三——Windows内核对象同步机制
- 内核对象及句柄的本质区别
- 多线程-自动和人工
- 什么是静态代码块?java中如何使用空参构造方法自动生成不同名字的对象,使用非静态的属性和静态属性有什么区别,原因是什么?如何理解static关键字
- 各种内核对象用于线程同步的区别
- Java多线程的两种实现方式的区别以及同步问题中的锁对象深刻解析
- 多线程之:用户态和内核态的区别
- 多线程锁:事件内核对象(进程锁)
- 多线程中引入Spring自动注入的对象为null
- 全自动打码软件与人工打码的区别
- 多线程--内核对象和句柄泄露&CloseHandle
- CreateEvent自动重置事件对象