gpt4 book ai didi

c - 为什么我们需要事件来同步线程?

转载 作者:太空宇宙 更新时间:2023-11-04 03:48:18 25 4
gpt4 key购买 nike

例如,如果一次只有 1 个线程可以访问 Critical Section,为什么我们需要 Events 来同步 2 个线程来读取/写入它?

最佳答案

它们的使用方式有一些重叠,但两者也有一些独特的功能:

  1. 关键部分不能跨进程使用,而事件可以。
  2. 单个手动重置事件可用于一次释放多个线程。关键部分不能。
  3. 事件与 WaitForSingleObject() 等兼容,而关键部分则不兼容。
  4. 线程可以使用 WaitForMultipleObjects[Ex]() 等待多个事件,但它只能等待一个关键部分(使用不同的 API)。

等等。

他们并不是真正的直接竞争者;最好将它们视为彼此互补

互斥锁在中间的某个地方。如需进一步讨论,请参阅 What is the difference between mutex and critical section?

关于c - 为什么我们需要事件来同步线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22736205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com