.net(C#)中,一个进程最多能创建多少线程

.net(C#)中,一个进程最多能创建多少线程,第1张

理论上,一个进程可用虚拟空间是2G,默认情况下,线程的栈的大小是1MB,所以理论上最多只能创建2048个线程,但是一般不会到这么大,因为主线程要占内存,可能还要多点。如果要创建多于2048的话,必须修改编译器的设置:菜单栏的“项目”->“属性”,选择“配置属性”下的“链接器”下的“系统”,将堆栈保留大小设置为:524288,这个值就是512KB,这里的单位是字节,所以要自己换算,这样理论上能创建4096个进程。

首先你要明白一点:路、核、线程三者的区别。
路:独立的CPU的个数。
核:单个CPU的物理核心(也叫真实核心)数量。
线程:程序中顺序控制流程的数量。
举个例子,双路四核八线程服务器指的就是该服务器有2个独立的CPU,每个CPU有2个物理核心(2x2=4核),每个核心拥有2条线程(4x2=8线程)。个人PC平台上很少出现“路”这个术语,以前奔腾时代英特尔公司面向桌面级用户倒是做过一些高端的双CPU平台,就是说一块主板上装了两个独立的CPU,和现在的双核CPU不是一个概念。多核CPU是由于后期技术发展后,芯片集成度越来越高,可以把多个物理核心集成在一个CPU上。打个比喻(虽然不恰当),如果把双路看做一对健康的双胞胎的话,那么双核就是一对连体双胞胎。
而所谓的四核八线程(注意:这里没有“路”定义)就是说,一颗独立的CPU上的真实核心数量为4,但是通过超线程技术又模拟出4个核心,看上去像8个核心了,但有4个是模拟出来的,不是真实的,以此类推。这就是所谓的超线程,目前是英特尔公司独有的技术。
至于“几通道”,它指的是服务器进行资源共享 *** 作时的信道数量,它表现的是服务器的网络共享通信那一块的性能,和上面的三个术语面向的对象不同,他们仨表现的是服务器的数据处理那一块的性能,数量越高,服务器多任务处理能力越强。当然,这四个家伙一起展现了一台服务器的综合性能。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13306169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-11
下一篇 2023-07-11

发表评论

登录后才能评论

评论列表(0条)

保存