首页
学习
活动
专区
圈层
工具
发布

Linux之多线程(下)——线程控制

return pthread_exit pthread_cancel 5.分离线程——pthread_detach 线程是可以等待的,等待的时候是join的等待(阻塞式等待)。...pthread_detach函数 例子 创建新线程,让主线程与新线程运行起来,主线程等待新线程退出,等待完毕返回n。由于我们现在让新线程进行分离,那么按照理论此时主线程的等待结果是失败的。...start_routine(void* args) 14 { 15 string name = static_cast(args); 16 pthread_detach...因为,我们创建新线程后,并不确定新线程和主线程哪个先被调度,所以可能导致我们还没有执行新线程的pthread_detach时,主线程就去等待新线程了。...start_routine(void* args) 14 { 15 string name = static_cast(args); 16 pthread_detach

81410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    创建线程:pthread_create

    并且thread指定的线程必须是joinable的 int pthread_detach(pthread_t tid); 调用pthread_join(pthread_id)后,如果该线程没有运行结束,...在有些情况下我们并不希望如此,比如在Web服务器中当主线程为每个新来的链接创建一个子线程进行处理的时候,主线程并不希望因为调用pthread_join而阻塞(因为还要继续处理之后到来的链接),这时可以在子线程中加入代码pthread_detach...(pthread_self())或者父线程调用pthread_detach(thread_id)(非阻塞,可立即返回) pthread_t pthread_self(void); 获得线程自身的ID。...这个属性也可以在线程创建并运行以后用pthread_detach()来设置,而一旦设置为PTHREAD_CREATE_DETACH状态(不论是创建时设置还是运行时设置)则不能再恢复到PTHREAD_CREATE_JOINABLE

    78911

    交个朋友

    加入腾讯云官网粉丝站
    蹲全网底价单品 享第一手活动信息

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券
      首页
      学习
      活动
      专区
      圈层
      工具
      MCP广场