Я использую + (BOOL)setThreadPriority:(double)p;
для изменения приоритета NSThread
, но threadPriority
всегда равен 0,5. Возвращаемое значение setThreadPriority:
- TURE
.NSThread setThreadPriority: не работает
_thread = [[NSThread alloc] initWithTarget:self selector:@selector(runThread) object:nil];
-(void)runThread {
@autoreleasepool {
[[NSThread currentThread] setName:@"3DF7EF974A80"];
NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
[runLoop addPort:[NSMachPort port] forMode:NSDefaultRunLoopMode];
[_condition lock];
[_condition signal];
[_condition unlock];
[NSThread setThreadPriority:1.0];
CFRunLoopRun();
[runLoop removePort:[NSMachPort port] forMode:NSDefaultRunLoopMode];
[_condition lock];
[_condition signal];
[_condition unlock];
}
}
Я использую Xcode 7.0.1 и OS X 10.10.5.
Когда вы это вызвали, вернули ли они TRUE или FALSE? Вы назвали это в потоке, который вы создали вручную? – Rob
возвращается TRUE. Я создаю поток вручную. Я добавил код. –
Вы пытались установить приоритет потока после выполнения оператора запуска цикла? – Astoria