У меня есть вызов dispatch_async для вторичного потока, и просто для целей тестирования я хотел приостановить вторичный поток на 5 секунд.Вот код:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
sleep(5);
});
Когда я проверяю это на Mac OSX Lion 10.7.2, функция sleep () не переводит поток в спящий режим.И на симуляторе iPhone, использующем тот же код, он делает это.
На Mac сна работает в основном потоке, а во вторичном потоке с помощью [NSThread sleepUntilTimeInterval:] тоже работает.
Почему победилфункция sleep () работает на вторичных потоках на mac?Спасибо.