社区
数据结构与算法
帖子详情
怎样判断计算机有多于一个cpu?
wtzmax
2005-05-17 12:23:22
怎样判断计算机是单cpu的还是多cpu的?
如果有多cpu怎样将运算分散到各个cpu(不用多线程,自己绕过os作分配)?
...全文
114
5
打赏
收藏
怎样判断计算机有多于一个cpu?
怎样判断计算机是单cpu的还是多cpu的? 如果有多cpu怎样将运算分散到各个cpu(不用多线程,自己绕过os作分配)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NowCan
2005-05-17
打赏
举报
回复
还有简单的,GetSystemInfo就可以了。
typedef struct _SYSTEM_INFO {
union {
DWORD dwOemId;
struct {
WORD wProcessorArchitecture;
WORD wReserved;
};
};
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD_PTR dwActiveProcessorMask;
DWORD dwNumberOfProcessors; <------这里!!!
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;
} SYSTEM_INFO;
NowCan
2005-05-17
打赏
举报
回复
Windows有这么一个函数GetProcessAffinityMask,应该是可以判断系统有多少个CPU的。但是我还不会用,也没用过。
至于任务分配,就更不会了。
mathe
2005-05-17
打赏
举报
回复
任务调度一般来说由操作系统自己来调度。调度任务要在特权级才能够做,用户级是没有权限的。
不创建线程是不可能的。可以通过创建线程,然后
自己调用GetThreadContext, SetThreadContext, SuspendThread, ResumeThread,
SetThreadAffinityMask等函数来强行调度。
maxcai
2005-05-17
打赏
举报
回复
开机箱的主意有点绝^^
hugomyj
2005-05-17
打赏
举报
回复
拆开机箱,看主板上有几个 CPU
大多数
计算机
有几个
cpu
,多处理器分配
多处理器是指系统中包含两台或多台功能相近的处理器,处理器之间彼此可以交换数据并独立工作。多处理器分配是指将多个处理器分配给线程或进程。现在
计算机
系统中,一般至少都有2个处理器,但系统中线程数目远远
多于
处理器数目,因此多处理器分配会采取一些分配策略。中文名多处理器分配外文名multiprocessor allocation学科
计算机
定义多个处理器分配给线程或进程有关术语处理器领...
chatgpt赋能python:Python怎么选
CPU
核?
在解释Python
CPU
核心之前,我们需要了解什么是
CPU
核心。
CPU
核心就是任意
一个
CPU
内部的处理器,每个
CPU
可以有多个处理器(或
CPU
核心)。这样,一旦一台
计算机
上有
多于
一个
CPU
核心,操作系统就需要选择哪个核心来使用。如果多个Python程序正在运行,也需要在这些程序之间进行选择。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT。
为什么有时候线程数超过
CPU
内核数会更快呢?
单核
CPU
上运行的多线程程序, 同一时间只能
一个
线程在跑, 系统帮你切换线程而已, 系统给每个线程分配时间片来执行, 每个时间片大概10ms左右, 看起来像是同时跑, 但实际上是每个线程跑一点点就换到其它线程继续跑,效率不会有提高,切换线程反倒会增加开销。 为什么有时候线程数超过
CPU
内核数会更快呢? 原因是这种程序的单个线程运算量不足以占满
CPU
一个
内核(比如存在大量IO操作,IO比较慢,是......
JAVA的线程可以在多个
CPU
上运行么?
关于这个问题,有以下两种答案: 第一,不能,因为“进程是
CPU
进行调度的单位,而JVM是
一个
进程,于是就只能跑在
一个
CPU
上”。 第二,“进程是
CPU
进行调度的单位,这没错,但是OS负责将
一个
进程在不同的
CPU
上调度到另外
一个
CPU
上,而这个进程,则是由不同的线程构成的,那么说,线程还是在不同的
CPU
上运行了”。 在SUN公司授权的《Java核心技术》中,有这样两句话,给了我们答案:
linux指定
cpu
运行程序,进程/线程绑定到特定
CPU
核的linux实现(有代码有实例)
前言现在
计算机
上的
CPU
大多都是多核的,有4核甚至是8核的。但是
一个
计算机
启动之后其进程数是远远
多于
CPU
核数的,因为操作系统会给自动调度这些进程在
CPU
核上轮流运行。但是对于应用程序或者进程,其性能要求较高时,可能有必要绑定该进程到指定的
CPU
核来运行,避免调度带来的额外开销。我自己也是因为最近的项目上有需要进程运行在指定的
CPU
核上的要求,所以了解了一下这项技术,并且将过程和总结记录于此。CP...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章