我正在使用+ (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