当前位置:  技术问答>linux和unix

pthread_join的第二个参数怎么使用?

    来源: 互联网  发布时间:2016-06-08

    本文导语:  请给一个具体的例子和输出。谢谢。 | #include  #include  void thread1(char s[]) {          printf("This is a pthread1.n");         printf("%sn",s);         pthread_exit("hello");  //结束线程,返回一个值...

请给一个具体的例子和输出。谢谢。

|

#include 

#include 

void thread1(char s[])



        printf("This is a pthread1.n");
        printf("%sn",s);
        pthread_exit("hello");  //结束线程,返回一个值。
}

/**************main function ****************/

int main(void)


{
        pthread_t id1;
        void *a1;
        int i,ret1;
        char s1[]="This is first thread!";
        ret1=pthread_create(&id1,NULL,(void *) thread1,s1);

        if(ret1!=0){
                printf ("Create pthread1 error!n");
                exit (1);
        }
        pthread_join(id1,&a1);

        printf("%sn",(char*)a1);

        return (0);

}

|
这是一个分离线程跟普通线程的对比例子,上面有pthread_join的用法对比,你看看吧

#include
#include
#include
#include
#include

void* task1(void*);
void* task2(void*);

void usr();

int p1,p2;

int main()
{
   p1=0;
   p2=0;
    usr();
    getchar();
    return 1;
}

void usr()
{
pthread_t pid1, pid2;
     pthread_attr_t attr;
     void *p;
 int ret=0;
pthread_attr_init(&attr);
     pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
     pthread_create(&pid1, &attr, task1, NULL);
     ret=pthread_join(pid1, &p);
     printf("after pthread1:ret=%d,p=%dn", ret,(int)p);
    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
if(p2==0)
    { pthread_create(&pid2, &attr, task2, NULL);
   p2=1;
}

}


void* task1(void *arg1)
{
    printf("task1n");
    pthread_exit( (void *)1);
}

void* task2(void *arg2)
{
    int i=0;
    printf("thread2 begin.n");
    //pthread_detach(pthread_self());
   for(i=0;i

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • pthread_join返回非0,但 perror 提示success
  • 请教:pthread_join( )在等待一个已经退出的线程时为何会导致死锁?
  • 程序卡在pthread_join()
  • 求教,关于pthread_join 以及线程之间关系的问题
  • 先pthread_cancel()再pthread_join(),主线程退出?
  • LINUX关于pthread_create 和pthread_join
  • 关于pthread_join()例子,请教高手。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3