2

我对为多核设备编写代码有些疑问。最初直到 iPhone 3GS iPhone 都是单核 CPU。因此,当我为 3GS 编写应用程序时,如果我在多线程中编写代码,那么如果我在 iPhone 4 或 iPad 2(双核)中运行应用程序,iOS 是否会将这些多线程分配给不同的内核?或者开发人员有什么办法可以收获多核 CPU 特性的好处。这是iOS将不同线程分配给不同内核的责任吗?并且还假设有一个需要很长时间才能执行的函数,并且我在当前线程中调用此代码(没有创建多个线程)iOS 是否将大任务分成两个较小的任务并在不同的内核中执行?

4

1 回答 1

6

如果您使用线程原语编写代码,操作系统将自动处理核心管理。

此外,如果您使用 GCD,它将为您优化内核和线程管理。

最重要的是,使用 GCD(直接或通过 NSOperationQueue 之类的帮助程序),无论您是在单 CPU 还是多 CPU 架构上,系统都会自动调整对系统 CPU 资源的访问。

于 2012-07-28T15:15:58.217 回答