有两种不同类型的事件: 手动重置事件和自动重置事件
自动重置: SetEvent之后, 事件自动重置为未触发状态
手动重置: SetEvent之后, 需要调用ResetEvent事件才置为未触发状态
区别: 当一个手动重置事件被触发的时候, 正在等待该事件的所有线程都变为可调度状态; 当一个自动重置事件被触发的时候, 只有一个正在等待该事件的线程会变为可调度状态. 系统并不会保证会调度其中的哪个线程, 剩下的线程将继续等待. 这样, 可以在在每个线程函数返回之前调用SetEvent
本文介绍了手动重置事件和自动重置事件的区别。自动重置事件在被触发后会自动回到未触发状态,而手动重置事件则需要显式地调用重置操作才能回到未触发状态。此外,当手动重置事件被触发时,所有等待的线程都会变为可调度状态;而对于自动重置事件,则只有其中一个等待线程变为可调度状态。
有两种不同类型的事件: 手动重置事件和自动重置事件
自动重置: SetEvent之后, 事件自动重置为未触发状态
手动重置: SetEvent之后, 需要调用ResetEvent事件才置为未触发状态
区别: 当一个手动重置事件被触发的时候, 正在等待该事件的所有线程都变为可调度状态; 当一个自动重置事件被触发的时候, 只有一个正在等待该事件的线程会变为可调度状态. 系统并不会保证会调度其中的哪个线程, 剩下的线程将继续等待. 这样, 可以在在每个线程函数返回之前调用SetEvent
399

被折叠的 条评论
为什么被折叠?
