//小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()中断下。
出来的结果并不是我想像中的那样子。