gpt4 book ai didi

windows - Windows 上的互斥锁和事件

转载 作者:可可西里 更新时间:2023-11-01 13:06:41 27 4
gpt4 key购买 nike

为什么我们需要 Windows 中的 Mutex 和 Events?从某种意义上说,Windows 不能只有 Mutex 吗?什么是 Event 可以完成而 Mutex 不能完成的?

最佳答案

Events 允许线程阻塞,直到某个事件(因此得名)被广播。阻止事件意味着“发生事情时叫醒我”;你希望被安眠。事件是一种信号机制,并提供互斥锁所没有的支持,例如一旦等待它的人被唤醒,就能够自动清除信号。此外,API 允许阻塞,直到发出多个事件的信号为止。其中一个所有

互斥量(Mutual Exclusion)则是一种共享资源的范围协调机制。想想交易。您不希望等待,而是想访问某些共享资源,只有在其他人已经在访问它的情况下,您才会阻止。

如果您尝试使用互斥体模拟事件,您将面临这样的问题,即一旦您获得了锁(此时应该表示“事件发出信号”),您就会将其他人拒之门外,直到您释放该锁.这不是发出事件信号的语义;它可能会保持发布状态,并且“门”将为每个测试事件的线程打开,而无需获取任何锁。

关于windows - Windows 上的互斥锁和事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3727467/

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