在为多核设备编写代码时,我有一些疑问。最初,直到iPhone 3GS iPhone都有单核处理器。因此,当我为3GS编写应用程序时,如果我是在多线程中编写代码,那么如果我在iPhone 4或iPad 2(双核)中运行应用程序,iOS是否会将这些多线程分配给不同的内核?或者,从开发人员的角度来看,有什么事情可以让他们从多核CPU特性中获益?这就是将不同的线程分配给不同内核的可靠性os iOS吗?另外,假设有一个函数需要很长时间才能执行,并且我在当前线程(没有创建多个线程)中调用此代码,iOS是否会将大任务拆分为两个较小的任务,并在不同的内核中执行?
发布于 2012-07-28 23:15:58
如果您使用线程原语编写代码,操作系统将自动处理核心管理。
此外,如果您使用GCD,它将为您优化内核和线程管理。
总之,使用GCD (直接或通过NSOperationQueue之类的助手),系统将自动调整对系统CPU资源的访问,无论您是在单CPU架构上还是在多CPU架构上。
https://stackoverflow.com/questions/11702174
复制相似问题