使用所有可用内核和CPU是不负责任的吗?

时间:2014-04-14 21:14:45

标签: c++ resources policy

我正在设计一个JPG解码器。一种实现支持使用线程和扩展CPU的多个核心。如果底层系统支持3个内核,我的程序将使用所有这些内核。使用所有核心资源或旨在减轻贪婪程序的系统是否不负责任。

此外,线程实现还需要更多的内存资源(3倍于等效RGB BMP的大小)。内存使用何时变得过多?

1 个答案:

答案 0 :(得分:1)

  

使用所有核心资源是不负责任的

不,不是。考虑一个单一的核心系统:如果它是某种方式"不负责任的"使用所有内核,什么都不会完成。

  

或旨在减轻贪婪程序的系统

是的,操作系统专门用于执行此操作。通常,每个想要使用所有CPU核心的两个具有相同优先级的程序将共享核心50%-50%(按时间,而不是通过核心分配)。每个应用程序都会认为它正在使用所有内核,但某些内核可能看起来运行速度比其他内核慢一些。应用程序无需关注此级别的详细信息(尽管通常操作系统提供了这样做的方法,如果需要)。