博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux高编线程-------线程的取消
阅读量:6693 次
发布时间:2019-06-25

本文共 851 字,大约阅读时间需要 2 分钟。

有8种方式使进程终止,其中前5种为正常终止,它们是   

1:从 main 返回   

2:调用 exit   
3:调用 _exit 或 _Exit   
4:最后一个线程从其启动例程返回   
5:最后一个线程调用 pthread_exit   异常终止有3种,它们是   
6:调用 abort   
7:接到一个信号并终止   
8:最后一个线程对取消请求做出响应 

线程在运行的过程中经常会用到线程取消。

/************************** *功能:发送一个线程取消请求 *参数:取消的线程 *返回值:成功返回0,失败返回非0的errnum * ***********************/int pthread_cancel(pthread_t thread);

注意:先取消再收尸

取消有两种状态:允许和不允许

允许取消: 异步取消

    (默认)推迟取消: 推迟到cancel点再响应:POSIX定义的cancel点,都是可能引发阻塞的系统调用。

设置cancel点相关函数:

/**********设置线程是否允许被取消***********/int pthread_setcancelstate(int state ,int *oldstate);/*************选择线程取消方式***********/int pthread_setcanceltype(int type, int *oldtype);/***************取消点**************/void pthread_testcancel(void);

线程分离:

/************分离一个线程*************/int pthread_detach(pthread_t thread);

无法用pthread_join() 函数收尸 

 

 

       

 

转载于:https://www.cnblogs.com/muzihuan/p/5343276.html

你可能感兴趣的文章
寻找固定的和----2013年2月26日
查看>>
col命令详解及sqlplus格式设置
查看>>
Golang 数据结构实现之 二叉树
查看>>
Nokia X5音乐手机:生命不可承受之轻
查看>>
zabbix监控web页面,以及告警配置
查看>>
云计算会议千千万 为何你唯独不能错过这一场
查看>>
用VBS脚本重启/关闭计算机
查看>>
蚂蚁分类信息5.8模板标签语法
查看>>
一个网站故障排查的、代码更新的简便脚本
查看>>
C#生成CHM文件(应用篇)之代码库编辑器(4)【附程序最终版下载】
查看>>
254个VIP时脚本生成keepalived.conf配置文件
查看>>
Macromedia Flex 标记语言简介
查看>>
Android UI开发第十四篇——可以移动的悬浮框
查看>>
【Iphone 游戏开发之一】创建视图并绘制简单图形
查看>>
awk的高级应用
查看>>
linux网络参数设置_CentOS6.2
查看>>
JS动态操作表格
查看>>
MS SQL SERVER 2000 常用 Tran-SQL 语句
查看>>
Test Writer For Windows Server 2003 R2
查看>>
关于 MySQLdb模块不能插入中文问题
查看>>