Linux--多线程之线程连接pthread_join
来源:互联网 发布:mac怎么打拼音 编辑:程序博客网 时间:2024/06/03 20:21
#include "apue.h"/**1.main函数的线程称为初始线程或主线程,主线程在main函数返回的时候,会导致整个线程结束。可以在主线程中使用pthread_exit函数 退出主线程 如此,进程会等待所有的线程结束时候才终止当一个线程被pthread_join之后 另外一个线程不能再pthread_join它*/struct person{int age;char name[10];};void *thread_fun(void *person1){int i;for(i=0;i<5;i++){printf("fun1 age =%d name=%s \n",((struct person*)person1)->age,((struct person*)person1)->name);sleep(1);}printf(" fun 1 ended\n");return (void *)1;}void *thread_fun2(void *person1){int i;for(i=0;i<5;i++){printf("fun2 age =%d name=%s \n",((struct person*)person1)->age,((struct person*)person1)->name);sleep(2);}printf(" fun 2 ended\n");return (void *)2;} int main(){pthread_t tid1,tid2;int err1,err2;//初始化结构体1struct person per;per.age = 20;strcpy(per.name,"liu pan");//初始化结构体2struct person per2;per2.age = 18;strcpy(per2.name,"li si");//创建线程err1 = pthread_create(&tid1,NULL,thread_fun,&per);err2 = pthread_create(&tid2,NULL,thread_fun2,&per2);if(err1||err2){//err1或者err2不等于0时perror(" fail to create thread ");return -1;}printf("success to create thread err1 =%d err2 =%d\n ",err1,err2);printf("pid1 = %lu tid2 = %lu \n",tid1,tid2);//连接线程void *rval,*rval2; pthread_join(tid1,&rval);pthread_join(tid2,&rval2);printf("rval = %d rval2 = %d \n",(int)rval,(int)rval2);//打印线程函数返回值printf("start to quit main thread \n ");//主线程退出pthread_exit(NULL);//always succeeds}
0 0
- Linux--多线程之线程连接pthread_join
- Linux线程之pthread_join
- linux线程之pthread_join和pthread_detach
- Linux线程-pthread_join
- 多线程之pthread_detach和 pthread_join
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- Linux线程pthread_exit 和 pthread_join
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- 关于Linux线程pthread_create(),pthread_join()
- flex布局
- 简单排序算法
- Plant
- 【Dongle】【Java】基础(五)包扩展
- linux 平台,Qt 使用,微软雅黑/文泉驿 字体
- Linux--多线程之线程连接pthread_join
- oracle运行速度与效率高的秘密
- 刚学Redis 记录下.
- C#如何自绘滚动条控件
- 烟大oj 进制转换
- 数据-企业最重要的资产(一)数据架构为先
- 别人家的报纸页数和自己的页数
- 第二章 使用变量、操作符和表达式
- JDOM操作