pthread_cancel
的手册页说:
The cancellation state can be set to PTHREAD_CANCEL_DISABLE, in which case all cancellation requests are held pending,
这很清楚。
如果有一个挂起的取消请求,并且 pthread_setcancelstate
调用启用了可取消性,线程何时被取消?
- 在
pthread_setcancelstate
调用期间 - 在下一个取消点
使用默认取消类型 (PTHREAD_CANCEL_DEFERRED)。
最佳答案
自 pthread_setcancelstate
is not permitted to be a cancellation point并且取消被推迟到一个取消点,线程不能被取消直到下一个取消点。
关于c - 启用可取消性时,pthread_setcancelstate 函数是否为取消点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11650067/