相对于多进程,嵌入式系统中更多用到的多线程。但是创建一个线程默认分配的一个堆栈大小为8M,对于一些芯片来说,这本省也是一个不小的开销。
前几天遇到pthread_create返回一个12 错误,经过查询是因为内存不足造成的。top命令一看,虚拟内存使用超过90% 。
这时也不得不考虑创建线程时的系统开销,看了CSDN上的一篇文章才如醍醐灌顶。http://blog.csdn.net/gykimo/article/details/9132157 感谢!
pthread_attr_setstacksize() 对一些线程的栈做限制,有效减少了浪费。
阅读(628) | 评论(0) | 转发(0) |