取消点仅当取消操作安全时才应取消线程。pthreads 标准指定了几个取消点,其中包括:
缺省情况下将启用取消功能。有时,您可能希望应用程序禁用取消功能。如果禁用取消功能,则会导致延迟所有的取消请求,直到再次启用取消请求。 有关禁用取消功能的信息,请参见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 返回值 |
|
来自: WUCANADA > 《threadpool》