一尘不染

Pthread在创建线程后立即运行

linux

我有一个使用pthread的C程序。

我希望新创建的线程在创建后立即运行。

这背后的原因是我的线程具有用于设置信号处理程序的初始化代码,并且在主线程发送一些信号之前,我必须确保处理程序已就绪。

我尝试过紧随pthread_yield其后的尝试pthread_create,但没有成功。

我怀疑这会有所不同,但是我在x86_64上运行Linux 3.6。

谢谢


阅读 505

收藏
2020-06-02

共1个答案

一尘不染

或者,您可以使用屏障,即调用pthread_barrier_wait(在每个线程的例程中早期,或在主线程的初始化中),以确保每个相关线程均已到达屏障(此后,您的某些线程可以发出调皮的信号)技巧)。

2020-06-02