RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
[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://sczitong.cn/article/jshihc.html