[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://hxwzsj.com/article/jshihc.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站设计 成都定制网站建设 成都商城网站建设 攀枝花网站设计 温江网站设计 重庆网站建设 高端网站建设 成都网站建设 成都网站建设 成都做网站建设公司 成都网站制作公司 成都网站建设 成都网站设计公司 企业手机网站建设 响应式网站设计方案 成都网站制作 成都网站设计 网站建设开发 成都网站制作 网站制作 盐亭网站设计 定制网站制作