Dun*_*ney 3 macos multithreading osx-lion
我正在开发一个分形渲染应用程序,其代码可以追溯到10.4.它使用NSThreads来管理渲染线程以计算分形.
直到最近,它支持操作系统回到10.4,所以我甚至无法升级它以使用NSOperationQueues.
该应用程序FractalWorks现已在Mac App商店中提供,其最低操作系统要求为10.6.6.因此,我们放弃了对旧操作系统的支持,并将返回并重新渲染渲染以使用NSOperationQueues或GCD.
与此同时,我希望在最新发布的Lion中让它干净利落地运行起来.具体来说,我想摆脱10.7中新弃用的长列表调用.第一次通过将是一个简单的升级.
该应用程序当前使用MPProcessors方法来确定系统上的核心数,因此它可以为每个核心创建一个渲染线程.它工作正常,MPProcessors甚至允许i5/i7上的超线程,并让程序创建两倍的渲染线程和核心.
我需要一个现代调用,让我可以在系统中查询逻辑内核的数量,正如MPProcessors现在所做的那样.文档只是说该方法已被弃用,而没有提供替代方法.有什么选择?(并且不要告诉我GCD/NSOperationQueues.我知道这是要走的路,但这比我现在准备好的工作要大.)
提前致谢,
Duncan Champney WareTo
在可可: [NSProcessInfo processInfo].processorCount
在BSD-ese中: sysctlbyname("hw.ncpu", ...)
使用Gestalt: Gestalt(gestaltCountOfCPUs, &count);
| 归档时间: |
|
| 查看次数: |
463 次 |
| 最近记录: |