[求解惑]pthread_attr_setstacksize 不生效
各位大侠们,遇到一个问题,搞了将近两天了,没搞定,请大家帮忙解惑:开发环境:Ubantu 16.04 ,内核版本:4.4.20
遇到问题:业务需要,在main里面,创建500个线程,每个线程的stack大小都设置为32KByte,通过pthread_attr_setstacksize函数进行设置,
pthread_attr_setstacksize函数返回成功,但是在线程入口函数里面获取到的线程实际的stacksize大小却是8MByte(系统默认配置:ulimit -s 就是8MByte)。
没有什么思路了,请大家不吝赐教,感谢。。
贴代码出来看看 我严重怀疑你试图设置当前线程的stack size…… 小菜鸟让大家见笑了,此问题是我自己失误造成的:
pthread_getattr_np(pthread_self(), &gattr);//这一句让我给遗漏了!!!!!!pthread_attr_getstacksize(&gattr, &size);
回复 2# hellioncu
恩,确实是我代码写错了,漏了一句:pthread_getattr_np(pthread_self(), &gattr);-------
我又发现了新问题:开机自启我的应用程序时,线程创建失败(启动到第482个线程时,失败),提示是:资源不足,
但是我在shell终端启动应用程序,是没问题的。
请大侠指点。
回复 4# windoze
大佬,我又发现了新问题:开机自启我的应用程序时,线程创建失败(启动到第482个线程时,失败),提示是:资源不足,
但是我在shell终端启动应用程序,是没问题的。
请大佬指点。
页:
[1]