Multithreading 何时以及如何检查取消点?

Multithreading 何时以及如何检查取消点?,multithreading,pthreads,posix,cancellation,Multithreading,Pthreads,Posix,Cancellation,我知道当到达取消点时,它会检查是否发出了取消线程的请求。在我的代码中,请求是在线程进入sleep(1000)调用后发出的 那么,有人能确切地解释一下取消状态是在什么时候检查的吗?是指当到达取消点或在执行取消点调用时(给定sleep()示例):如果线程已启用可取消性,并且当线程在取消点挂起时,以该线程为目标发出取消请求,应唤醒线程,并根据取消请求采取行动。但是,如果线程在取消点挂起,并且它等待的事件发生在对取消请求采取行动之前,则未指定是否对取消请求采取行动[…]。第二个答案的最后一段很好。

我知道当到达取消点时,它会检查是否发出了取消线程的请求。在我的代码中,请求是在线程进入sleep(1000)调用后发出的

那么,有人能确切地解释一下取消状态是在什么时候检查的吗?是指当到达取消点或在执行取消点调用时(给定sleep()示例)

:如果线程已启用可取消性,并且当线程在取消点挂起时,以该线程为目标发出取消请求,应唤醒线程,并根据取消请求采取行动。但是,如果线程在取消点挂起,并且它等待的事件发生在对取消请求采取行动之前,则未指定是否对取消请求采取行动[…]。第二个答案的最后一段很好。