线程

作者: poofball44 | 来源:发表于2019-04-08 11:30 被阅读0次

    通过 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代表成功。 失败,返回的则是错误号。

    相关文章

      网友评论

          本文标题:线程

          本文链接:https://www.haomeiwen.com/subject/ilquiqtx.html