c - 如何查找 pthread 是否有挂起的取消请求

标签 c linux multithreading pthreads

我想知道对于一个线程,pthread_cancel 是否被调用。

我不想使用某些表并维护它们。是否有任何库函数可用于此?我不想使用一些取消点函数取消线程,如果有任何未决的取消请求,我只是想知道是否有任何未决的取消请求。

最佳答案

即使调用pthread_cancel,也不会立即执行。处理器需要自己的时间来取消线程。但是,这里要提一下:不推荐使用异步取消或立即取消。我遇到了一个问题,即在将 pthread_setcanceltype() 用作 PTHREAD_CANCEL_ASYNCHRONOUS 时,我的应用程序在取消期间崩溃。我实在找不到理由。 据我所知,甚至我在调试崩溃场景时也搜索了很多相同的内容,我们没有办法确认线程在什么时候被取消。

关于c - 如何查找 pthread 是否有挂起的取消请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13010257/

相关文章:

java - C,打开相对于可执行文件路径的文件?

java - 等待 5 秒到进度条在 android 中不可见

python - 是否有优雅或 Pythonic 的方式来中断线程中的 time.sleep() 调用?

multithreading - 如何定义线程安全?

c++ - 在对函数指针进行 typedef 时 * 是强制性的吗?

C - 在函数中初始化全局数组

C、双向链表问题

c - 在给定键盘事件的情况下,在 C 中实现键盘缓冲区

使用 pickle.load() 时 python3 退出时没有任何错误

c++ - 管理 C 套接字中客户端突然断开连接的好方法