概述
多线程的创建,退出及等待
线程创建:int pthread_create(pthread_t * tid, const pthread_attr_t * attr, void * ( * func) (void * ), void * arg);
其返回值是一个整数,若创建进程成功返回0,否则,返回其他错误代码,也是正整数。
pthread_t t1;
pthread_create(&t1,NULL,act,NULL);
第一个参数 t1:创建的线程ID号
第三个参数:创建线程的处理函数:(void *)型
其余两个参数一般情况下默认为空: NULL
线程退出:void pthread_exit (void *status);
int ten=-1;
pthread_exit(&ten);
线程等待:int pthread_join (pthread_t tid, void ** status);
第一个参数表示要等待的进程的id;
第二参数表示要等待的进程的返回状态,是个二级指针。
pthread_join(t1,NULL);
如果不需要关心退出状态,第二个参数赋值为NULL即可。
总代码如下:
1 #include<stdio.h>
2 #include <pthread.h>
3
4 void *act(void *ptr)
5 {
6 int ten=-1;
7 printf("nihaon");
8 pthread_exit(&ten);
9 }
10 int main()
11 {
12 pthread_t t1;
13 pthread_create(&t1,NULL,act,NULL);
14
15 pthread_join(t1,NULL);
16 return 0;
17 }
记住编译的时候一定要链接 pthread库
最后
以上就是落寞太阳为你收集整理的多线程的创建,退出及等待的全部内容,希望文章能够帮你解决多线程的创建,退出及等待所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复