取消阻止的Pthread

时间:2010-10-22 16:26:37

标签: c pthreads semaphore

如果某个帖子在pthread_cancel()上被屏蔽,我该如何让该帖子回复sem_wait()

1 个答案:

答案 0 :(得分:2)

你可以为SIGUSR1设置一个信号处理程序,对于那个将要阻塞的线程,从另一个线程,你调用pthread_cancel(tid)pthread_kill(tid, SIGUSR1)。一旦sem_wait()被信号中断,线程将被取消。