我一直在努力熟悉std::线程C++11 中的库,并且遇到了绊脚石。
最初,我来自 posix 线程背景,并且想知道如何在构造之前设置 std::thread 的堆栈大小,因为我似乎找不到执行此类任务的任何参考。
使用 pthreads 设置堆栈大小是这样完成的:
void* foo(void* arg);
.
.
.
.
pthread_attr_t attribute;
pthread_t thread;
pthread_attr_init(&attribute);
pthread_attr_setstacksize(&attribute,1024);
pthread_create(&thread,&attribute,foo,0);
pthread_join(thread,0);
使用时有类似的情况吗std::线程?
我一直在使用以下参考:
http://en.cppreference.com/w/cpp/thread
最初,我来自 posix 线程背景,并且想知道如何在构造之前设置 std::thread 的堆栈大小,因为我似乎找不到执行此类任务的任何参考。
你不能。std::thread
不支持这个,因为std::thread
是标准化的,C++ 甚至不要求机器有堆栈,更不用说固定大小的堆栈了。
pthreads 在它们支持的硬件方面更具限制性,并且它假设每个线程有一些固定的堆栈大小。 (所以你可以这样配置)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)