增加pthreads的默认stacksize大小的最简单方法是什么?有没有办法调整堆大小,进程级别和单个线程级别?如果新操作符因底层内存泄漏而失败,如何设置新的处理程序来处理错误的分配?
答案 0 :(得分:1)
增加pthreads的默认stacksize大小的最简单方法是什么?
创建新线程时,可以使用pthread_attr_setstacksize
设置stacksize。堆栈大小不得小于PTHREAD_STACK_MIN
。
有没有办法调整堆大小,进程级别和单个线程级别?
使用Solaris编译器,您可以尝试使用-xpagesize
选项更改pagesize,但无法调整堆的大小(它将与计算机可用的内存一样大)。所有线程只共享一个堆,因此无法按线程调整它。
如果新操作符因底层内存泄漏而失败,如何设置新的处理程序来处理错误的分配?
新的处理程序是一个专门的功能,并没有一般的答案,如何使用新的处理程序非常依赖于程序的细节。它不能用于修复内存泄漏,一旦内存泄漏就太晚了,所以你需要首先防止泄漏。 (如果您不知道如何编写新的处理程序,那么您可能不需要使用它。)