线程

2019-04-08  本文已影响0人  poofball44

通过 pthread_create()函数创建新线程。

#include<pthread.h>

int pthread_create( pthread_t * restrict tidp,

const pthread_attr_t *restrict attr, 

void * (*start_rtn) (void*),

void *restrict arg);

若成功,返回0;否则,返回错误编码

tidp:新创建的线程ID会被设置成tidp指向的内存单元。

attr:用于定制各种不能的线程属性,默认为NULL。

start_rtn:新创建的线程从start_rtn函数的地址开始运行,该函数只有一个void类型的指针参数即arg,如果start_rtn需要多个参数,可以将参数放入一个结构中,然后将结构的地址作为arg传入。

 函数pthread_join用来等待一个线程的结束,线程间同步的操作。

 #include <pthread.h>

int pthread_join(pthread_t thread, void **retval);

描述 :pthread_join()函数,以阻塞的方式等待thread指定的线程结束。当函数返回时,被等待线程的资源被收回。如果线程已经结束,那么该函数会立即返回。并且thread指定的线程必须是joinable的。

参数 :thread: 线程标识符,即线程ID,标识唯一线程。retval: 用户定义的指针,用来存储被等待线程的返回值。

返回值 : 0代表成功。 失败,返回的则是错误号。

上一篇下一篇

猜你喜欢

热点阅读