【发布时间】:2014-04-17 20:35:27
【问题描述】:
我正在尝试使用以下代码 sn-p 增加 pthread 的堆栈大小:
size_t newstacksz = 0xf000;
void * arg = 0;
int ret = pthread_attr_setstacksize(&attr, newstacksz);
if (ret == -1) {
std::cout << "Attempt to increase thread stack size failed, resorting to default" << endl;
ret = pthread_attr_setstacksize(&attr, 0); // minimum allowable
}
pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_JOINABLE);
pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM); // system-wide contention
ret = pthread_create(&tid,&attr,thrfn,arg);
pthread_attr_destroy(&attr);
如果我要创建多个工作线程,我能否估算出每个线程允许的最大堆栈大小?
【问题讨论】:
标签: c++ multithreading stack pthreads solaris