Я работаю над фрактальным приложением рендеринга, код которого восходит к 10.4. Он использует NSThreads для управления потоками рендеринга для вычисления фракталов.
До недавнего времени он поддерживал операционные системы вплоть до 10.4, поэтому я даже не мог обновить его до использования NSOperationQueues.
Приложение FractalWorks теперь доступно в магазине приложений Mac, минимальное требование к ОС для которого составляет 10.6.6. Таким образом, мы отказались от поддержки старых ОС и вернемся к ней и переработаем рендеринг для использования NSOperationQueues или GCD.
В то же время я хочу, чтобы все было запущено и запущено в только что выпущенном Lion. В частности, я хочу избавиться от вызовов длинного списка, которые больше не поддерживаются в 10.7. Этот первый проход будет апгрейдом.
В настоящее время приложение использует метод MPProcessors для определения количества ядер в системе, поэтому оно может создать поток рендеринга для каждого ядра. Он отлично работает, а MPProcessors даже допускает гиперпоточность на i5 / i7 и позволяет программе создавать вдвое больше потоков рендеринга, чем ядер.
Мне нужен современный вызов, который позволит мне запросить у системы количество логических ядер, точно так же, как сейчас делают MPProcessors. Документы просто говорят, что метод устарел, не предлагая альтернативы. Какая альтернатива? (И не говорите мне GCD / NSOperationQueues. Я знаю, что это путь, но это большая работа, чем я готов взять на себя прямо сейчас.)
Заранее спасибо,
Дункан Шампни
WareTo