资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

[Linux线程]多线程的阻塞和退出

#include 
#include 
#include 
//线程1的启动函数
void *threaddeal1(void *arg)
{
  printf("thread 1 returning\n");
  return((void *)1);
}
//线程2的启动函数
void *threaddeal2(void *arg)
{
   printf("thread 2 exiting\n");
   pthread_exit((void *)2);
}
//主函数
int  main(int argc,char *argv[])
{
   int             err;
   pthread_t       threadid1, threadid2;
   void            *tret;
   //创建线程1
   err = pthread_create(&threadid1, NULL, threaddeal1, NULL);
   if (err != 0)   //创建线程1失败
   {
     printf("创建线程1失败,错误为: %s\n", strerror(err));
   }
   //创建线程2
   err = pthread_create(&threadid2, NULL, threaddeal2, NULL);
   if (err != 0)
   {
     printf("创建线程2失败,错误为: %s\n", strerror(err));
   }
   //阻塞线程1
   err = pthread_join(threadid1, &tret);
   if (err != 0)
   {
     printf("阻塞线程1失败,错误为: %s\n", strerror(err));
   }
   //退出并且打印线程1的退出状态
   printf("线程1的退出码为 %d\n", (int)tret);
   //阻塞线程2
   err = pthread_join(threadid2, &tret);
   if (err != 0)
   {
     printf("阻塞线程2失败,错误为: %s\n", strerror(err));
   }
   //退出并且打印线程2的退出状态
   printf("线程2的退出码为 %d\n", (int)tret);
   exit(0);
}

网站栏目:[Linux线程]多线程的阻塞和退出
地址分享:http://cdkjz.cn/article/jshihc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220