linux c++(线程 & 线程分离进阶)

线程分离状态高级

  • 初始化线程属性
    • int pthread_attr_init(pthread_attr_t *attr);
  • 销毁线程属性
    • int pthread_attr_destory(pthread_attr_t *attr);

设置属性分离态

  • int pthread_attr_setdetachestate(pthread_attr_t *attr,int detachstate);
    • attr init初始化的属性
    • detachstate
      • PTHREAD_CREATE_DETACHED 线程分离
      • PTHREAD_CREATE_JOINABLE 允许分离
void * thrFun(void *arg)
  {
      printf("I am thread = %d, tid=%lu\n",getpid(),pthread_self());
      return NULL;
  }
  int main()
  {
      // 创建线程
      pthread_attr_t attr;
      pthread_attr_init(&attr);//属性初始化
      pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED); //设置属性分离
  
      pthread_t tid;
      pthread_create(&tid,&attr,thrFun,NULL);    
      //sleep(2);
      pthread_exit(NULL);
      //int ret;
      //if((ret = pthread_join(tid,NULL))>0)
      //{ 
      //    printf("join err:%d,%s\n",ret,strerror(ret));
      //} 
      pthread_attr_destroy(&attr);
      return 0;
  }

posted on 2021-05-06 22:20  lodger47  阅读(173)  评论(0)    收藏  举报

导航