多线程编程
Peach2Orange
这个作者很懒,什么都没留下…
展开
-
用pthread_cond_timedwait 高效地确保线程成功返回从而正常退出
多线程编程中,线程A循环计算,然后sleep一会接着计算(目的是减少CPU利用率);存在的问题是,如果要关闭程序,通常选择join线程A来等待线程A退出,可是我们必须等到sleep函数返回,该线程A才能正常退出,这无疑减慢了程序退出的速度。当然,你可以terminate线程A,但这样做很不优雅,且会存在一些未知问题。采用pthread_cond_timedwait(pthread_cond_t*转载 2018-01-03 17:42:26 · 4698 阅读 · 0 评论 -
线程控制与线程分离
如果主线程不希望因为调用pthread_join而阻塞(因为还要继续处理之后到来的连接请求),则考虑进行线程分离,可在父线程调用pthread_detach(thread_id)(非阻塞,可立即返回)将该子线程的状态设置为分离的(detached),则该线程运行结束后会自动释放所有资源,避免线程超数无法创建转载 2018-01-03 20:25:33 · 369 阅读 · 0 评论