Objective c NSThread setThreadPriority在模拟器(或硬件)上工作吗?

Objective c NSThread setThreadPriority在模拟器(或硬件)上工作吗?,objective-c,ios5,ios-simulator,Objective C,Ios5,Ios Simulator,在Xcode 4 iPad模拟器上,当我执行NSThread+setThreadPriority,然后检查threadPriority时,无论我设置了什么,结果总是0.5+setThreadPriority返回是/成功返回代码 这纯粹是一个模拟器问题,还是setThreadPriority根本不起作用 我试图找到一些方法来强制后台线程产生CPU-pthread_yield_np似乎不起作用,至少在模拟器上是这样 补充:很明显,模拟器是相当脑死亡。即使在后台线程中睡眠5秒也不允许主线程运行。主线程

在Xcode 4 iPad模拟器上,当我执行NSThread+setThreadPriority,然后检查threadPriority时,无论我设置了什么,结果总是0.5+setThreadPriority返回是/成功返回代码

这纯粹是一个模拟器问题,还是setThreadPriority根本不起作用

我试图找到一些方法来强制后台线程产生CPU-pthread_yield_np似乎不起作用,至少在模拟器上是这样

补充:很明显,模拟器是相当脑死亡。即使在后台线程中睡眠5秒也不允许主线程运行。主线程正在等待@synchronize锁,而后台线程在获得锁实例代码中,远远早于它实际获得锁的机会

除此之外,叹气,后台线程可能有递归锁。我想知道有没有办法测试一下

添加更多内容:是的,问题不在于无法在模拟器上切换线程,而在于这个应用程序在长时间运行的后台线程中有一些递归锁,这些锁在堆栈的早期阻碍了主线程。需要思考


但很明显,setThreadPriority在模拟器上不起作用。

我认为这只是模拟器的一个限制。你在实际的设备上看到了什么?@JonathanGrynspan-还没有在设备上试用过它-明天会偷一个来试一试。你有一些使用线程和设置优先级的代码可以共享吗?GCD远远不足以满足我的目的,我要成为本地人。只是swift中的零文档。