能力值:
( LV2,RANK:10 )
|
-
-
2 楼
普通针对具体业务功能的C语言编程,貌似并不能限制这个 你读读。 能 读通么
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
哥们儿,我觉得说的很明白,你要是不明白可以有针对性的问。我说的这种情况是针对Oracle等商用软件的,他们卖的时候都是类似这么卖的。这不是什么黑客偏门的东西。你要是接触过肯定明白我说的是什么。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
windows 的API中。 就有枚举CPU核数等接口。 运行时判断就行了。
这个可以考虑windows internals 里面对于同样的内核镜像,在2008 vista等各系统中,如何不同运行的。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
估计是我水平低,理解不了。感觉你说了跟没说一样。
我需要听的是原理,并不是什么函数,反正你两个都没说。前一个问题我大致知道。但后一个问题却是真的不知道怎不么实现。//我刚刚补充了问题。
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
CPU时间分配 核心分配
如某些8核软件
是用过将8个子进程限制在不同CPU.达到互不卡死的目的
并且减少了上下文切换的开销
不过感觉只是理论上的..
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
你说得太虚了。没法指导人编程。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
很多商业软件是按照CPU核数、服务数买的,这是怎么做到的?
买还要怎么做得到,这个标题买是不是写错了。我水平低表示理解不好
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
哥们儿,我那个“买”字写错了,因为是标题没法编辑,应该是“卖”。不过反过来对买家而言不就是买吗!一样的。你要是明白了何必扣字眼呢!?
|
能力值:
( LV4,RANK:50 )
|
-
-
10 楼
无语.微软有个API是限制进程在某核心运行的...不过应该不是这么简单
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
1.你的程序需要建立提可以在多线程上运行的架构,这个架构可以将整个系统的负载平均分配到每个线程上;
2.你的程序在启动之前检查CPU的数量,最直接的方法是读取CPU的型号,通过型号来判断种类,不用API是因为API的结果不能区分是多CPU还是多Core,这两个是不一样的东西;
3.之后可以根据购买的序列号来判断是什么版本,然后就知道可以启动几个线程来运行了;
4.启动线程后,把每个线程绑定到不同的CPU或者内核上就可以了。
以上应该是最简单的思路了。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
明白你的意思了,ok!!
有没有必要直接将代码塞到指定的CPU寄存器上呢?(这个当然要汇编了),这个当然要针对每个核,要塞的话,一个也跑不了了。这样做必要吗?为什么!?
|
能力值:
( LV3,RANK:20 )
|
-
-
13 楼
把线程分配到每个独立的CPU上,可以让程序尽可能多的占用系统的时间片,但是平分到CPU上却可以节省线程之间切换时间。至少我是这么认为的。。。
|
能力值:
( LV3,RANK:20 )
|
-
-
14 楼
api是让用户也能使用的系统级代码
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
问题是,我想尽量用普通C实现,少用平台相关代码。
|
|
|