加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Mutex vs Windows中的事件

发布时间:2020-12-14 04:33:53 所属栏目:Windows 来源:网络整理
导读:有人可以解释一下我有什么区别 mutex = createMutexwaitForSingleObjectRelease(mutex) 和 event = createEventwaitForSingleObjectRelease(event) 我很困惑,可以同时使用这两个版本吗?提前感谢任何帮助 您使用互斥体来确保只有一个执行线程可以访问某些内
有人可以解释一下我有什么区别
mutex = createMutex
waitForSingleObject
Release(mutex)

event = createEvent
waitForSingleObject
Release(event)

我很困惑,可以同时使用这两个版本吗?提前感谢任何帮助

您使用互斥体来确保只有一个执行线程可以访问某些内容.例如,如果要更新可能被多个线程使用的列表,则可以使用互斥体:
acquire mutex
update list
release mutex

使用互斥体,一次只能有一个线程可以执行“更新列表”.

如果您希望多线程等待某些事情发生,您可以继续使用手动重置事件.例如,您启动了多个线程,但它们都已暂停等待其他事件,然后才能继续.一旦事件发生,所有的线程都可以开始运行.

主线程将如下所示:

create event,initial value false (not signaled)
start threads
do some other initialization
signal event

每个线程的代码将是:

do thread initialization
wait for event to be signaled
do thread processing

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读