在事件发生之前保持线程不活动?

时间:2018-09-11 03:11:52

标签: c pthreads

我正在尝试将C代码放在一起,其中在事件发生时线程执行特定的操作。但是,一旦我使用pthread_create()创建任务,我的代码就会跳转到线程的函数。是否有可能以某种方式只是启动线程而将其保持空闲状态直到事件发生,同时我的其他线程继续独立执行?

1 个答案:

答案 0 :(得分:0)

您可以使用信号量或条件变量。

信号量 事件线程将具有sem_post()操作,操作线程将具有sem_wait()操作。

条件变量 类似于信号量。条件变量与互斥锁一起使用。发生事件时,向操作线程发出信号(pthread_cond_signal())。信号将由正在pthread_cond_wait()等待的操作线程接收。