红联Linux门户
Linux帮助

linux线程的缺点和线程池的必要性

发布时间:2016-04-06 09:49:11来源:linux网站作者:随风258741

在linux操作系统中,同一个程序创建线程的次数是有限制的,不断的创建销毁线程,很浪费资源,同事最后会导致老是创建失败,所以有必要使用线程池。


可以写个简单的代码测试一下:

#include <stdio.h> 
#include <pthread.h> 
#include <stdlib.h> 
#include <unistd.h> 

static int value = 0; 
void* doSomeThings(void* arg) 

printf("value=%d\n", value++); 
return (void*)NULL;  

int main() 

while (1)  
{
pthread_t pthreadID; 
if ( 0 != pthread_create(&pthreadID, NULL, doSomeThings, NULL)) 
{
printf("create pthread failed. %m\n"); 
}
usleep (100*1000); 
}
return 0;


可以发现,运行一段时间之后,线程创建老是失败,并提示Cannot allocate memory的错误。


本文永久更新地址:http://www.linuxdiyf.com/linux/19537.html