【发布时间】:2010-10-22 16:26:37
【问题描述】:
如果线程在sem_wait() 上被阻塞,我如何使线程响应pthread_cancel()?
【问题讨论】:
如果线程在sem_wait() 上被阻塞,我如何使线程响应pthread_cancel()?
【问题讨论】:
您可以为 SIGUSR1 设置一个信号处理程序,然后为将要阻塞的线程从另一个线程调用 pthread_cancel(tid) 和 pthread_kill(tid, SIGUSR1)。一旦sem_wait()被信号中断,线程将被取消。
【讨论】: