操作系统取消线程

取消线程

向发送取消请求:
int pthread_cancel (pthread_t thread);
功能:该函数只是向线程发出取消请求,并不等待线程终止。
​
缺省情况下,线程在收到取消请求以后,并不会立即终止,而是仍继续运行,直到其达到某个取消点。
在取消点处,线程检查其自身是否已被取消了,并做出相应动作。
设置可取消状态:
int pthread_setcancelstate (int state,int* oldstate);
成功返回0,并通过oldstate参数输出原可取消状态(若非NULL),失败返回错误码。
​
state取值:
   PTHREAD_CANCEL_ENABLE  - 接受取消请求(缺省)。
   PTHREAD_CANCEL_DISABLE - 忽略取消请求。
设置可取消类型:
int pthread_setcanceltype (int type, int* oldtype);
​
成功返回0,并通过oldtype参数输出原可取消类型
(若非NULL),失败返回错误码。
​
type取值:
   PTHREAD_CANCEL_DEFERRED     - 延迟取消(缺省)。
      被取消线程在接收到取消请求之后并不立即响应,
       而是一直等到执行了特定的函数(取消点)之后再响应该请求。
   PTHREAD_CANCEL_ASYNCHRONOUS - 异步取消。
      被取消线程可以在任意时间取消,不是非得遇到取消点才能被取消。
      但是操作系统并不能保证这一点。

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值