gpt4 book ai didi

c - 从 pthread 到 main 的信号

转载 作者:行者123 更新时间:2023-11-30 15:25:27 25 4
gpt4 key购买 nike

pthread_t thread_id;
while(1) {
if(counter < 3) {
// do something
pthread_create( &thread_id , NULL , handle_me, (void*)arg);
}
else {
// wait for counter to be changed
// pthreads will be changing the counter
// when changed, go back to beginning of loop
counter++;
}
}

我正在尝试实现以下目标:从pthread向main发出信号。我有什么选择?

当线程中发生更改时,计数器受到互斥体的保护。

最佳答案

使用条件变量。在线程中使用 pthread_cond_signal 或 pthread_cond_broadcast 递增计数器。在等待信号的另一个线程中,使用 pthread_cond_waitpthread_cond_timedwait

关于c - 从 pthread 到 main 的信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27893525/

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