杀死线程
pthread_cancel 杀死(取消)线程 其作用,对应进程中 kill() 函数。

int pthread_cancel(pthread_t thread);
成功:0;失败:错误号

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>void *tfn(void *arg)//线程函数
{printf("线程 Thread_ID = %lu\n", pthread_self());sleep(5);return NULL;
}int main(void)
{pthread_t tid;pthread_create(&tid, NULL, tfn, NULL);//创建线程sleep(5);pthread_cancel(tid);//杀死线程void *ret;pthread_join(tid,&ret);//线程回收printf("ret return %d\n", (int)ret);return 0;
}

分离

线程分离
线程分离就是让系统回收线程,不用通过cancle或者join来回收
线程结束后,其退出状态不由其他线程获取,而直接自己自动释放。网络、多线程服务器常用。
也可使用 pthread_create函数参2(线程属性)来设置线程分离。

int pthread_detach(pthread_t thread);
成功:0;失败:错误号

C语言 pthread_cancelpthread_detach相关推荐

  1. Go语言的错误异常处理机制及其应用

    一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...

  2. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  3. gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表

    对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器. 对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件 对于以 .cpp 为扩展名的文件,GCC ...

  4. OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)

    首先是下面代码中将要使用的 r 矩阵的定义.需要注意,我们可以通过用 randu 函数产生的随机值来填充矩阵, 需要给定一个上限和下限来确保随机值在期望的范围内. Mat r = Mat(2, 3, ...

  5. 利用牛顿法求平方根-Go语言实现

    牛顿法解释 百度的解释如下: 通俗的解释就是:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法.思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0f(x)=0f(x)=0的根 ...

  6. 翻转二叉树 c语言实现 递归 栈 队列

    前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...

  7. 字符串全排列的问题 python和c语言实现

    前言 这是一个的经典的问题 设计一个算法,输出一个字符串字符的全排列. 比如,String = "abc" 输出是"abc","bac",& ...

  8. 快速排序的递归和非递归实现 c语言版本

    代码 挖坑法 解释 选取一个关键字(key)作为枢轴,一般取整组记录的第一个数/最后一个,这里采用选取序列第一个数为枢轴,也是初始的坑位. 设置两个变量i = l;j = r;其中l = 0, r = ...

  9. c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题

    代码 总结下c语言中字符串数组的地址存放问题 #include <iostream> using namespace std; #include<bits/stdc++.h>i ...

最新文章

  1. Go 学习笔记(28)— nil(nil 不能比较、不是关键字或保留字、nil 没有默认类型、不同类型的 nil 指针是一样的、不同类型的 nil 是不能比较的、相同类型的 nil 可能也无法比较)
  2. python详细安装教程linux-Linux手动安装新版本Python教程(CentOS)
  3. VM:Vmware简介、安装、使用方法详细攻略
  4. SAP中的邮件发送功能
  5. python delete_python 使用 delete 方法时报错,可以正常删除
  6. checkbox对齐排列
  7. vs 2008 Ide 设置
  8. 通过Docker或虚拟机快速搭建私有云平台--使用Nextcloud和ONLYOFFICE创建您的WebOffice云办公系统
  9. [漏洞检测]Proxpy Web Scan设计与实现(未完待续)
  10. 排序——冒泡、选择、插入、希尔、快速、计数
  11. 微信公众号php从0开发,包括功能(自定义菜单,分享)
  12. JAVA学习(五):Java面向对象编程基础
  13. Racket编程指南——24 命令行工具和你的编辑器选择
  14. 常见互联网公司职级和薪资一览,有条件的一定要进大厂,薪水是真高
  15. 【练习/Python】监测汇率脚本
  16. 怎么卸载Safari浏览器?
  17. 武汉:“大象转身”,“中国车都”变“中国车谷”的二段跨越
  18. HTML+CSS+JavaScript实现网页广告
  19. 韦东山嵌入式第一期学习笔记DAY_4——8_3编写第1个程序点亮LED
  20. 如何合法学习黑客技术?这9个项目可以帮到你!

热门文章

  1. C++静态数据成员与静态函数(案例分析)
  2. Eclipse的代码补全方法可以实现psvm和sout
  3. 2021年8月Python小屋编程比赛获奖名单
  4. 1000道Python题库系列分享四(40道)
  5. h5 video 手机 显示第一帧_【图像处理二】HDMI显示(一)
  6. 计算机桌面亮度调整,接近完美:如何调整计算机屏幕的亮度?如何调整计算机屏幕的亮度[graphic]...
  7. 122. 买卖股票的最jia时机||(JavaScript)
  8. python制作u盘病毒_十行代码--用Python写一个USB病毒!
  9. python 可迭代对象_Python3学习笔记(十四):可迭代对象、迭代器和生成器
  10. ajax返回的数据怎么显示出来_Excel输入汉字、拼音首字母就能显示数据出来,录数据时逐步提示...