社区
高性能计算
帖子详情
请教一个多进程、多线程、多CPU、多核的问题
codecola
2011-04-08 02:16:50
在一个多CPU多核的系统中:
1. 一个
单
进程
单
线程的程序,同一时刻能占用
1
个CPU的
1
个核。
2. 一个
单
进程
多
线程的程序,同一时刻能占用
1
个CPU的
多
个核?
3. 一个
多
进程
单
线程的程序,同一时刻能占用
多
个CPU的
1
个核?
4. 一个
多
进程
多
线程的程序,同一时刻能占用
多
个CPU的
多
个核?
我理解的对吗?
...全文
1444
11
打赏
收藏
请教一个多进程、多线程、多CPU、多核的问题
在一个多CPU多核的系统中: 1. 一个单进程单线程的程序,同一时刻能占用1个CPU的1个核。 2. 一个单进程多线程的程序,同一时刻能占用1个CPU的多个核? 3. 一个多进程单线程的程序,同一时刻能占用多个CPU的1个核? 4. 一个多进程多线程的程序,同一时刻能占用多个CPU的多个核? 我理解的对吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lactoferrin
2011-04-11
打赏
举报
回复
你什么时候见到了一个多进程单线程的程序?拿一个没有线程的进程当摆设,或者那个线程两边来回attach?这里不要管进程的数目。
codecola
2011-04-11
打赏
举报
回复
在一个多CPU多核的系统中:
2. 一个单进程多线程的程序,同一时刻能占用多个CPU的多个核?
3. 一个多进程单线程的程序,同一时刻能占用多个CPU的多个核?
4. 一个多进程多线程的程序,同一时刻能占用多个CPU的多个核?
codecola
2011-04-11
打赏
举报
回复
[Quote=引用 9 楼 ericming200409 的回复:]
这个要看操作系统的实现,有的操作系统只调度进程,有的以线程为单位进行调度
[/Quote]
windows调度是以线程为单位的。
在linux下,每个CPU都有着对应的可执行队列,而一个可执行状态的进程在同一时刻只能处于一个可执行队列中。
2. 一个单进程多线程的程序,同一时刻能占用
1
个CPU的多个核。
codecola
2011-04-11
打赏
举报
回复
[Quote=引用 8 楼 lactoferrin 的回复:]
你什么时候见到了一个多进程单线程的程序?拿一个没有线程的进程当摆设,或者那个线程两边来回attach?这里不要管进程的数目。
[/Quote]
ok
我说的不明确,多进程单线程实际就是多进程,只是不再分多线程。
ericming200409
2011-04-11
打赏
举报
回复
这个要看操作系统的实现,有的操作系统只调度进程,有的以线程为单位进行调度
天上游的鱼
2011-04-08
打赏
举报
回复
楼上说的大体上是对的,只看core,不用说多个cpu
一个执行序列可以对应一个core,一个执行序列就是指基本的调度单位(线程)
Lactoferrin
2011-04-08
打赏
举报
回复
调度的只是线程,不是进程。
多进程单线程,那么只能有一个进程有线程,其它进程都是刚创建的没有线程的,此时只有一个线程可被调度
所以,只用看线程的个数和核的个数
pengzhixi
2011-04-08
打赏
举报
回复
[Quote=引用 3 楼 codecola 的回复:]
引用 2 楼 justkk 的回复:
貌似3是不对的,不确定
一个多进程单线程的程序,貌似不能同时被调度,同一时刻能占用1个CPU的1个核
多个进程为什么不能被同时调度?这些进程间除了父子关系外,没有其他的联系。
[/Quote]因为调度是以线程为单位。
codecola
2011-04-08
打赏
举报
回复
[Quote=引用 2 楼 justkk 的回复:]
貌似3是不对的,不确定
一个多进程单线程的程序,貌似不能同时被调度,同一时刻能占用1个CPU的1个核
[/Quote]
多个进程为什么不能被同时调度?这些进程间除了父子关系外,没有其他的联系。
justkk
2011-04-08
打赏
举报
回复
貌似3是不对的,不确定
一个多进程单线程的程序,貌似不能同时被调度,同一时刻能占用1个CPU的1个核
一个
CPU
可以为很
多线程
服务
一个
CPU
可以为很
多线程
服务,但
一个
线程无法让多个
CPU
为它服务,如果用JAVA写
多线程
程序,可以有几个线程运行在同
一个
CPU
上,但是其中的
一个
线程一旦被分配到了某个
CPU
,那么这个线程就只由这个
CPU
来提供服务了 有
一个
程序A,需要改成单机并行模式,在4核的电脑上跑。可是不管我是自己启动多个计算线程还是使用openmp,始终只有
一个
核占用全满,另几个
CPU
核占用率都是0。下面是我做的几个...
nodejs cluster
多线程
同步,nodejs
多线程
共享内存
因为nodejs的I/O操作,底层是开启了
多线程
的当同时有多个IO请求时,主线程会创建多个eio线程,以提高IO请求的处理速度额外知识点:d.虽然nodejs的I/O操作开启了
多线程
,但是所有线程都是基于主线程开启的只能跑在
一个
进程当中还是不能充分利用
cpu
资源pm2进程管理器可以解决这个
问题
pm2是
一个
带有负载均衡功能的Node应用的进程管理器.e.
cpu
核数与线程之间的关系在过去单
CPU
时代,单任务在
一个
时间点只能执行单一程序。事实上,使用它进行繁重的计算等于摒弃Node几乎所有的优点。
IOS
多线程
:『GCD』详尽总结
1. GCD 简介 什么是 『GCD』 ?我们先来看看百度百科的解释简单了解下相关概念。 引自 百度百科 Grand Central Dispatch(GCD) 是 Apple 开发的
一个
多核
编程的较新的解决方法。它主要用于优化应用程序以支持
多核
处理器以及其他对称多处理系统。它是
一个
在线程池模式的基础上执行的并发任务。在 Mac OS X 10.6 雪豹中首次推出,也可在 iOS 4 及以上版本使用。 那为什么我们要使用 GCD 呢? 因为使用 GCD 有很多好处啊,具体如下: GCD 可用于
多核
的并
多线程
详解(掌握这篇就够了)
文章目录一、线程简介Process和Thread程序 进程 线程核心概念二、线程创建(重点)1、继承Thread2、实现Runnable接口(推荐使用)3、 实现Callable接口4、龟兔赛跑5、小结继承Thread类实现Runnable接口静态代理Thread静态代理底层剖析动态代理newProxyInstance解析动态代理多个接口动态代理的秘密代理的作用总结lambda表达式三、线程状态(五大状态)状态概念线程方法停止线程(使用标志位)线程休眠(sleep)模拟网络延迟sleep获取当前时间线程礼让
深入理解Flutter
多线程
说一千道一万,不如自己去行动。要想在移动互联网的下半场是自己占有一席之地,那就得从现在开始,从今天开始,马上严格要求自己,既重视业务实现能力,也重视基础和原理。基础夯实好了,高楼才能够平地而起,稳如泰山。最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。还有。
高性能计算
2,408
社区成员
1,025
社区内容
发帖
与我相关
我的任务
高性能计算
高性能计算
复制链接
扫一扫
分享
社区描述
高性能计算
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章