我想知道对于一个线程,pthread_cancel
是否被调用。
我不想使用某些表并维护它们。是否有任何库函数可用于此?我不想使用一些取消点函数取消线程,如果有任何未决的取消请求,我只是想知道是否有任何未决的取消请求。
最佳答案
即使调用pthread_cancel
,也不会立即执行。处理器需要自己的时间来取消线程。但是,这里要提一下:不推荐使用异步取消或立即取消。我遇到了一个问题,即在将 pthread_setcanceltype() 用作 PTHREAD_CANCEL_ASYNCHRONOUS 时,我的应用程序在取消期间崩溃。我实在找不到理由。
据我所知,甚至我在调试崩溃场景时也搜索了很多相同的内容,我们没有办法确认线程在什么时候被取消。
关于c - 如何查找 pthread 是否有挂起的取消请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13010257/