首页 新闻 会员 周边 捐助

求助关于进程、CPU、线程之间的关系

0
[已解决问题] 解决于 2016-11-08 13:29

开发语言我用的c#,我这里有一个4U的服务器,也就是4颗cpu,单个cpu是12核,24线程

假如我不使用线程池等多线程技术,仅通过一个进程执行单线程程序,是否能发挥一颗CPU的性能(12核,24个线程)

MSky的主页 MSky | 菜鸟二级 | 园豆:436
提问于:2016-10-27 17:22
< >
分享
最佳答案
0
进程:进程是指一个内存中运行的应用程序,如:java.exe
线程:一个线程中的执行流程,一个进程中可以运行多个线程
cpu:中央处理器,cpu每时每刻只做一件事(如处理一个线程),这个每时每刻是一个很小的时间刻度,用我们的时间思维可以忽略不计。由于cpu处理速度超级快,我们感觉多个线程是同步进行的,实际上市异步的。
关系:cpu高效处理进程中的许多线程,给人的感觉是同步是,实际上是一个个线程排队被cpu处理。
希望对你有帮助!
奖励园豆:5
凯伦 | 初学一级 |园豆:186 | 2016-10-27 18:21
其他回答(2)
0

4颗cpu,你只单线程?你真暴殄天物啊。

Daniel Cai | 园豆:10424 (专家六级) | 2016-10-28 10:11

我只是要知道原理,最后决定用线程池还是人为控制线程。。。

支持(0) 反对(0) MSky | 园豆:436 (菜鸟二级) | 2016-10-28 10:19

@MSky: 这个取决于你的需求了。多线程并不一定好,在线程竞争和线程切换的时候消耗会很大,所以才有了极端的redis这种单线程模型。但一般场景下,多线程可以更充分的使用cpu资源,在绝大部分场景下还是人多力量大。用线程池还是自己控制线程这个要看你的场景了。

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-10-28 10:26

 这个有必然联系么?还有一种技术叫:多核编程,如果弄了个多核服务器,难不成你还得去学多核编程吗???

支持(0) 反对(0) 顾晓北 | 园豆:10898 (专家六级) | 2016-11-02 11:14
0

进程主要是针对是在内存管理的虚拟对象,线程主要是针对CPU管理的虚拟对象;

具体详情去参见操作系统原理。

花飘水流兮 | 园豆:13617 (专家六级) | 2016-10-28 10:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册