一个进程最多能包含多少线程

本文探讨了在Windows环境下,一个进程能够包含多少线程的问题。作者通过实验发现,线程的数量不仅受限于操作系统设定,还受到硬件资源如内存的影响。实验过程中,由于未正确释放线程句柄导致进程PID增长迅速,影响系统性能。最终结论指出,进程中的线程数量并非固定,而是取决于电脑配置和操作系统设置,硬件支持是决定因素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  //小watch水平有限,希望大家多多指正文中的错误,共同进步大笑

最近在学习os的多线程课程,第一个实验室关于windows的多线程,用mfc实现。实验蛮简单的,但是,我不由想到了,一个进程最多能包含多少个线程。

在网上查了查,貌似也没找到多少这方面的资料。大部分都是关于服务器多线程链接sever的,关于本机可执行exe的进程数倒是没有什么涉及。

我觉得唯一一个有用的出处:http://bbs.pediy.com/archive/index.php?t-26541.html

   中间有一句:个人认为是这样的:每个进程是有4G的内存空间,其种只有一部分是给用户使用的,其余是内核使用的,具体多少跟操作系统有关。进程中的所有线程公用这一空间。每个线程又自己的堆栈,再win2k下,如果用VC写程序的话,你能使用的地址空间约为2G,,线程的默认堆栈是1M,可以在编译程序时修改。因此可以推算一个进程的线程数也就两千多个。

机器配置:虚拟机 +xp  +1G内存

废话不多说,直接上图。

主要用一个全局变量 i 标识下,并在i%1000 == 0,时,用getchar()中断下。

出来的结果并不是我想像中的那样子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值