Tag: stack size

安全线程堆栈大小?

我正在编写一些产生相当multithreading的代码(目前约为512个,但未来可能会更高)。 每个线程只执行少量操作,因此我希望线程在系统上的开销保持在最低限度。 我使用pthread_attr_setstacksize()设置堆栈大小,我可以从PTHREAD_STACK_MIN获得最小允许堆栈大小。 但我的问题是: 将PTHREAD_STACK_MIN用于线程堆栈大小是否安全? 我如何计算我需要多少堆栈? 是否有任何隐藏的开销需要添加到我的计算中? 另外,还有其他技术可以用来减少线程在系统上的负担吗?