![]() |
1
12
当您有互斥锁和条件变量时,很容易编写手动重置事件。 您需要的是一个字段,该字段表示重置事件是否已发出信号。对该字段的访问需要由互斥保护-这包括设置/重置事件以及检查是否有信号。 当您等待事件时,如果当前没有发出信号,您将希望等待一个条件变量,直到发出信号。最后,在设置事件的代码中,您将希望通知条件变量以唤醒等待事件的任何人。
|
![]() |
2
1
IIRC
这听起来很像 condition variables 以下内容:
|
![]() |
Eric · fgets_unlocked()用于多线程读取不同文件 2 年前 |
![]() |
RoyGNEU · 堆上的专用std::Vector是线程安全的吗? 3 年前 |
![]() |
JaiK · 在c中使用线程或队列写入文件# 7 年前 |
![]() |
Catalin Ghita · 如何以安全线程对象为值初始化哈希表? 7 年前 |
![]() |
Juan JuezSarmiento · C++删除对象,是否锁定? 7 年前 |
![]() |
Missa · 两个不同线程正在处理原子NSMutableArray 7 年前 |
|
user5682282 · 从其他线程读取值 7 年前 |