博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
主线程pthread_exit 作用
阅读量:6654 次
发布时间:2019-06-25

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

hot3.png

#include 
#include
#include
using namespace std;#define NUM_THREADS 10void* say_hello(void* args){ int i = *((int*)args);//对传入的参数进行强制类型转换,由无类型指针变为整形数指针,然后再读取; cout << "hello in " << i << endl; sleep(5);}int main(){ pthread_t tids[NUM_THREADS]; cout << "hello in main..." << endl; for(int i = 0; i < NUM_THREADS; ++i) { int ret = pthread_create(&tids[i], NULL, say_hello, (void *)&i);//传入的时候必须强制转换为void* 类型,即无类型指针 cout << "Current pthread id =" << tids[i] << endl;//这里学会使用tids数组打印创建的进程id信息; if (ret != 0) { cout << "pthread_create error: error_code=" << ret << endl; } } pthread_exit(NULL); cout<< "dddddddd"<

1. 如果添加pthread_exit()在主线程,则主线程马上退出,不在执行主线程下面的程序,但是主线程中启动的其他线程继续执行,程序不会马上退出,等待子线程执行完毕退出。

2. 如果不添加,主线程不等待子线程执行完毕,程序直接退出,子线程可能没有执行完毕。

转载于:https://my.oschina.net/hanxiaodong/blog/1834270

你可能感兴趣的文章
【C/C++】:用C实现输出日期的阴历日子
查看>>
jquery版本号升级不兼容的问题:$(&quot;input&quot;).attr(&quot;value&quot;)功能发生改变...
查看>>
基于ASP.NET WebAPI OWIN实现Self-Host项目实战
查看>>
linux下xargs和管道的区别
查看>>
FPGA开发流程1(详述每一环节的物理含义和实现目标)
查看>>
oc83--自定义类实现copy方法
查看>>
【Eclipse】Eclipse中修改项目的映射名称与端口
查看>>
Mongoose 利用实现HTTP服务
查看>>
Python pycharm 常用快捷键
查看>>
[LeetCode] Path Sum IV 二叉树的路径和之四
查看>>
oracle定时任务
查看>>
Cocos Creator 计时器的延时循环试用方法
查看>>
HAProxy+Redis实现负载负载均衡(待实践)
查看>>
JSON 数据格式
查看>>
Python 列表 index() 方法
查看>>
MySQL常用的七种表类型(转)
查看>>
django之跨表查询及添加记录
查看>>
Linux中断(interrupt)子系统之二:arch相关的硬件封装层【转】
查看>>
Linux/Android——Input系统之InputMapper 处理 (八)【转】
查看>>
006——数组(六)array_fill()array_filter()array_flip()array_key_exists()array_keys()
查看>>