【发布时间】:2011-05-08 11:02:57
【问题描述】:
我正在编写一些产生相当多线程的代码(目前大约有 512 个,但将来可能会更高)。每个线程只执行少量操作,因此我希望将线程在系统上的开销保持在最低限度。
我正在使用pthread_attr_setstacksize() 设置堆栈大小,我可以从PTHREAD_STACK_MIN 获得允许的最小堆栈大小。但我的问题是:使用PTHREAD_STACK_MIN 作为线程堆栈大小是否安全?我该如何计算我需要多少堆栈?是否有任何隐藏的开销需要添加到我的计算中?
另外,我可以使用其他任何技术来减少线程对系统的负担吗?
【问题讨论】:
标签: c pthreads stack-size