0

在 Objective-C 的主线程上安排任务的好方法是什么?以下任何一种方式是否会创建一个新线程?

  • 延迟后执行选择器
  • dispatch_after
4

1 回答 1

0

两者都不会创建新线程。两者只是在当前的 NSRunLoop 上安排一个调用。


GCD 使用一个内部线程池,并且 dispatch_async 在这些线程中的任何一个上安排一个调用。这是 Runnable 的一个“对应物”(当与 Thread 对象/Threadpool 一起使用时)。

另一种“传统”方式是 NSThread 的 detachNewThreadWithSelector 或 performSelectorInBackground!:)

于 2013-03-30T20:10:11.230 回答