gpt4 book ai didi

c - 一个控制线程暂停和恢复一组工作线程

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:06 24 4
gpt4 key购买 nike

进程中有一个控制线程和一组工作线程。工作模式是这样的:
(1) 所有工作线程和控制线程都在运行;
(2) 当控制线程检查到某些条件变化时,它挂起所有工作线程;
(3) 控制线程检查所有工作线程挂起后,修改内存中的一些内容;
(4) 修改后,控制线程恢复所有工作线程。
我的问题是:
(1) 在第2步和第4步中,如何控制线程挂起和恢复所有工作线程?我考虑使用 pthread_cond_wait 和 pthread_cond_signal,但它似乎只适用于控制线程和工作线程。
(2)在第3步中,如何控制线程检查所有工作线程是否被挂起?我考虑使用计数器,有什么好的方法吗?

最佳答案

你真的需要挂起线程吗?如果我理解你是对的,那么你正在尝试解决 Readers writers problem .在这种情况下,我建议 pthread_rwlock_t 为您的控制线程提供对共享内存的独占访问。

关于c - 一个控制线程暂停和恢复一组工作线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17783641/

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