如何使用pthreads在Solaris上增加C 线程堆栈的大小

How to increase c++ thread stack size on solaris using pthreads?

本文关键字:堆栈 线程 增加 pthreads 何使用 Solaris      更新时间:2023-10-16

增加pthreads默认堆栈大小的最简单方法是什么?是否有任何方法可以调整堆积,过程级别和单个线程级别?如果新操作员由于记忆泄漏而失败,我该如何设置新处理程序来照顾不良分配?

增加pthreads默认堆栈大小的最简单方法是什么?

您可以使用pthread_attr_setstacksize在创建新线程时设置堆栈。堆栈尺寸不得小于PTHREAD_STACK_MIN

是否有任何方法可以调整堆积,过程级别和单个线程级别?

使用Solaris编译器,您可以尝试使用-xpagesize选项更改PAGESIZE,但是您无法调整堆的大小(它将与机器可用的内存一样大)。所有线程只有一个堆,因此您无法将其调整为每线。

如果新操作员由于记忆泄漏而失败,我该如何设置新处理程序来照顾不良分配?

新处理程序是一项专业功能,没有一般答案,如何使用新处理程序非常依赖于程序的详细信息。它不能用来修复内存泄漏,一旦内存泄漏,就为时已晚,因此您需要首先防止泄漏发生。(如果您不知道如何编写新处理程序,那么您可能不需要使用一个。)