多线程的基本编程

        

目录

一、pthread_create函数如何使用

二、pthread_join函数

(1)为什么要使用pthread_join函数

(2)基本使用

三、简单的多线程编程


一、pthread_create函数如何使用

pthread_create接受四个参数

第一个参数是新创建的线程id指向的内存单元,理解成线程编号即可
第二个参数是线程属性不需要详细了解,写个NULL
第三个参数是创建的线程执行的地址
第四个参数可直接写成NULL

二、pthread_join函数

(1)为什么要使用pthread_join函数

首先我们要知道一旦主线程结束,如果子线程还没结束,那么他就会被操作系统杀死,所以需要等待子线程先结束,一旦调用该函数,那么主线程就会等他!

(2)基本使用

pthread_join接受两个参数

第一个参数是进程id
第二个参数是线程执行函数的返回值,可以写成NULL

三、简单的多线程编程

#include
#include
#include


//如果想将一个函数当做执行的线程的话一定要在函数名前加个*,后面创建线程地址直接引用
//其中的void* data参数一定要写,不然会报错,可当成固定格式
void *p1(void* data)
{
 printf("i am child");
}


int main()
{
   pthread_t t;//可以理解成是线程的id
   //创建线程
   pthread_create(&t,NULL,p1,NULL);
   //等待子线程,防止主线程结束,子进程被杀死,导致子进程未执行
   pthread_join(t,NULL);
   return 0;
 
}

你可能感兴趣的:(操作系统,c++,c语言,ubuntu)