讲师博文
进程中创建线程 来源 : 未知     2018-09-29

前段时间在讲IO进程这门课时,想到在进程中可以创建线程,那一个进程多可以创建多少个线程呢?于是我用下面的代码做了验证:

经过编译运行得到的结果是:n = 382,通过验证结果可以看到:一个进程多可以创建382个线程,按照进程的用户空间3g来算,每个线程开辟的堆栈空间大概为8M,(也可以通过命令ulimit –s来查看线程栈大小,以 Kbytes 为单位。)它的空间是不会被回收的,跟函数不同(线程相当于函数,但这里是跟函数的不同),所以这就需要我们人为的去回收。当在线程中创建大小为9M的数据时,会出现段错误。

那么问题又来了,每个线程创建的这8M的空间可以修改吗?如何修改呢?

显而易见,答案是肯定的,那怎么修改呢?我通过下面的代码进行了修改:

在函数pthread_attr_setstacksize中可以根据自己的需求修改线程的堆栈空间大小。

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:libpcap使用

下一篇:物联仓储系统ZigBee组网原理

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号