War*_*ace 3 multithreading objective-c
我正在移植我在iOS上制作的Android应用程序.Android有一个Yield()函数将线程从运行移动到线程队列的后面(?).这很有用,因此这个线程不会占用太多的CPU并使其他一切都变得迟钝.它在我的Android应用程序中运行良好.
我正在使用NSInvocationOperation对象来实现我的线程.如何添加类似于Android(POSIX)的功能Yield()?
我正在使用NSInvocationOperation对象来实现我的线程.
这没有多大意义.NSOperations在一个线程中运行,但它们本身不是线程,也不会让你实现与线程等效的任何东西.如果你真的想要一个线程,请使用NSThread或pthread.
如何添加类似于Android(POSIX)Yield()的功能?
如果你真的想要POSIX,试试吧sched_yield().在更高的层次上,pthread_yield_np()(np表示非便携式 - pthread_yield()在POSIX中没有) - 但除了呼叫之外什么都不做sched_yield().
在你发现自己确实需要这个之前我不会打扰,这会有所帮助.在iOS或Mac应用程序中执行此类操作并不常见.