首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >明确NSRunLoop的流程

明确NSRunLoop的流程
EN

Stack Overflow用户
提问于 2015-11-17 19:48:32
回答 1查看 183关注 0票数 0

挖掘多个day....Apple、谷歌、幻灯片共享和堆栈溢出。但对NSRunLoop仍然不太清楚。

每个线程都有一个由default.Application编写的runloop,mainThread有mainRunLoop。

  1. 如果MainRunLoop获取输入事件,它是否正在创建新线程来执行它?然后又创建了另一个runLoop?那么多线程和多runLoop是如何工作呢?Communicate?
  2. If runLoop没有输入事件/任务it sleeps.When a RunLoop ends?
  3. 为什么我应该关心runLoop?
  4. 在哪里可以使用它?

我错过了我不能理解生命周期的地方?

EN

回答 1

Stack Overflow用户

发布于 2015-11-17 22:01:52

让我们来看看你的清单:

  1. 错误。线程没有内置的runloop。它们需要创建manually.
  2. Runloop不会创建另一个线程,它会立即执行一个事件。这就是为什么在主线程处我们可以看到锁定的界面--通过主线程中的重载任务( iPhone中的UI在主线程上运行)。Runloop可以通过mac端口相互通信,
  3. Runloop在第一个事件到来之前休眠,然后唤醒并结束。只有异常计时器,但它不会运行循环。Runloop需要在每次事件之后启动run (在循环中)。如果你调用run,已经有一个内置的循环。
  4. 可以用来创建一些线程,这些线程必须周期性地跟踪或执行一些东西。例如,您可以创建一个线程,当它运行循环时,其他线程可以通过performSelector执行它的选择器。这将创建一个后台查询处理器,它不需要每次都创建一个新线程。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33756156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档