【C/C++多线程编程之四】终止pthread线程
来源:互联网 发布:淘宝中年女士衣服 编辑:程序博客网 时间:2024/05/18 22:54
多线程编程之终止pthread线程
Pthread是 POSIX threads 的简称,是POSIX的线程标准。
终止线程似乎是多线程编程的最后一步,但绝不是本系列教材的结束。线程创建到线程终止,希望先给读者一个关于多线程编程的整体认识。
1.终止Pthread线程:pthread_exit()
参数:
ret:地址指针,本质上是返回值写入的地址。
终止线程是线程的主动行为,一个线程调用pthread_exit,终止线程自身。线程终止会释放线程特定数据,线程特定数据为线程专有。由于线程共享全局数据,故线程退出不会释放进程的全局数据。
该函数返回值ret如何使用?返回值是调用的概念,那么只有在一个线程被另一个线程“调用”时返回值ret才起作用。这里“调用”不同于一般意义上的函数调用,一个线程等待一个线程可以理解为“调用”。如一个线程调用pthread_join等待另一个线程终止。下面介绍等待线程终止函数pthread_join。
2.等待线程终止:pthread_join()
该返回值ret通过另一个函数pthread_join传递。等待线程终止pthread_join原型为:
等待线程终止pthread_join会阻塞调用线程,直到其指定的线程终止。pthread_join通过第一个参数:线程ID来指定线程。调用者调用pthread_jion等待一个特定线程终止,在这种情况下,调用者可能需要这个特定线程的返回值,pthread_join通过将value_ptr的地址赋值给特定线程的pthread_exit的ret获取返回值。
3.pthread_exi与pthread_join牛刀小试:
上面的例子主线程main调用pthread_join等待子线程My_thread线程终止,通过传递My_thread_ret地址获取子线程My_thread的返回值,最后在屏幕上输出获得的返回值。
3 0
- 【C/C++多线程编程之四】终止pthread线程
- 多线程编程之终止pthread线程
- 【C/C++多线程编程之三】创建pthread线程
- 【C/C++多线程编程之五】pthread线程深入理解
- 【C/C++多线程编程之十】pthread线程私有数据
- 【C/C++多线程编程之二】pthread简介
- 【C/C++多线程编程之六】pthread互斥量
- 【C/C++多线程编程之七】pthread信号量
- 【C/C++多线程编程之八】pthread条件变量
- 【C/C++多线程编程之九】pthread读写锁
- c pthread 多线程
- iOS-多线程编程学习之pthread创建线程(二)
- C#CancellationTokenSource终止线程
- C语言多线程编程(windows下)【用pthread】
- C语言多线程编程(windows下)【用pthread】
- 【C/C++多线程编程之一】VC6.0安装pthread
- 【C/C++多线程编程之一】VC6.0安装pthread
- C语言使用pthread多线程编程(windows系统)
- 用matlab实现非线性曲线拟合
- 使用OpenCV自带的神经网络对MNIST手写字体进行识别
- 银行家算法
- iOS学习之 plist文件的读写
- web项目MyEclipse里部署时找不到项目的名字
- 【C/C++多线程编程之四】终止pthread线程
- CodeForces 245E Mishap in Club
- n排列生成与可重集排列
- 简单的mysql存储过程
- ZOJ-1180
- 【Hibernate学习笔记】Session清空缓存与清理缓存
- 编程心得
- 面向对象设计原则
- NULL,空字符串和"\0"