标签:
转自:http://www.cnblogs.com/venow/archive/2012/11/22/2779667.html
贴原文章过来,提示有敏感词。。那就不贴了。
以下为本博客作者注:
在threadpool_function函数中有这段代码,
while ((pool->queue_cur_num == 0) && !pool->pool_close) //队列为空时,就等待队列非空 { pthread_cond_wait(&(pool->queue_not_empty), &(pool->mutex)); }
有网友留言问,为什么此处不是if,而是while。
通过测shi,发现如果此处用if的话,线程池有很大的几率发生栈溢出的错误。经分析后,此处出现问题应该是和多线程的并发执行有关,此处用while会更安全。
标签:
原文地址:http://my.oschina.net/u/2313065/blog/521801