打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
pthread_testcancel

取消点

仅当取消操作安全时才应取消线程。pthreads 标准指定了几个取消点,其中包括:

  • 通过 pthread_testcancel 调用以编程方式建立线程取消点。

  •  根据POSIX标准,pthread_join()、pthread_testcancel()、pthread_cond_wait()、 pthread_cond_timedwait()、sem_wait()、sigwait()等函数以及read()、write()等会引起阻塞的系统调用都是Cancelation-point,而其他pthread函数都不会引起Cancelation动作。

  • sigwait(2) 阻塞的线程。

  • 一些标准的库调用。通常,这些调用包括线程可基于其阻塞的函数。有关列表,请参见 cancellation(5) 手册页。

缺省情况下将启用取消功能。有时,您可能希望应用程序禁用取消功能。如果禁用取消功能,则会导致延迟所有的取消请求,直到再次启用取消请求。

有关禁用取消功能的信息,请参见pthread_setcancelstate 语法

创建取消点

请使用 pthread_testcancel(3C) 为线程建立取消点。

pthread_testcancel 语法

void pthread_testcancel(void);
#include <pthread.h>pthread_testcancel(); 

当线程取消功能处于启用状态且取消类型设置为延迟模式时,pthread_testcancel() 函数有效。如果在取消功能处于禁用状态下调用 pthread_testcancel(),则该函数不起作用。

请务必仅在线程取消操作安全的序列中插入 pthread_testcancel()。除通过 pthread_testcancel() 调用以编程方式建立的取消点以外,pthread 标准还指定了几个取消点。有关更多详细信息,请参见取消点

pthread_testcancel 返回值


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
pthread_cancel 和pthread_kill的区别
pthread线程的终止退出 | 线程的大量创建
关于 pthread
POSIX线程库API(全)(下)
Linux下线程用法总结
线程取消
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服