MPI(Message Passing Interface)是一个跨语言的通讯协议,用于编写并行计算机
#include <pthread.h>
ret = pthread_create(&id, NULL, (void *) thread, NULL);
pthread_join(id,NULL);
函数pthread_create用来创建一个线程:
第一个参数为指向线程标识符的指针,
第二个参数用来设置线程属性,
第三个参数是线程运行函数的起始地址,
最后一个参数是运行函数的参数。
当创建线程成功时,函数返回0,若不为0则说明创建线程失败,
常见的错误返回代码为EAGAIN和EINVAL。前者表示系统限制创建新的线程,例如线程数目过多了;后者表示第二个参数代表的线程属性值非法。
函数pthread_join用来等待一个线程的结束
第一个参数为被等待的线程标识符,
第二个参数为一个用户定义的指针,它可以用来存储被等待线程的返回值。
这个函数是一个线程阻塞的函数,调用它的函数将一直等待到被等待的线程结束为止,当函数返回时,被等待线程的资源被收回。
一个线程的结束有两种途径,一种是函数结束了,调用它的线程也就结束了;另一种方式是通过函数pthread_exit来实现。