首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >runloop的实际工作原理

runloop的实际工作原理
EN

Stack Overflow用户
提问于 2011-02-19 01:08:41
回答 2查看 1.5K关注 0票数 5

本月早些时候,我在读完答案后问了这个问题'What is a runloop?',并做了一些尝试,我让它起作用了,但我仍然不完全理解它。如果运行循环只是一个与线程相关联的循环,并且它不会在幕后产生另一个线程,那么我的线程中的任何其他代码(为了简单起见,主线程)如何执行,而不会因为它在某个地方生成无限循环而被“阻塞”/not运行?

这是第一个问题。然后转到我的第二个。

如果我在使用过这段代码后得到了一些正确的东西,但没有完全理解它,那么runloop是一个循环,在这个循环中,你附加了一个‘flag’,它通知runloop,当它到达标志所在的位置时,它会“停止”,并执行在该点附加的任何处理程序?然后,它继续运行到que中的下一个。

因此,在这种情况下,连接中的que中没有放置任何事件,但当涉及到事件时,它会采取与tap 1关联的任何操作,并在再次运行到连接之前执行它,依此类推。或者,我离理解这个概念已经够远了吗?

EN

回答 2

Stack Overflow用户

发布于 2011-02-19 01:55:35

“差不多吧。”

你读过this particular documentation吗?

它深入到run循环的体系结构和操作中--相当深入。

票数 1
EN

Stack Overflow用户

发布于 2011-02-19 04:30:45

如果一个运行循环调度一个耗时太长或永远循环的方法,它将被阻塞。

这就是为什么iPhone应用程序会想要做所有不能在UI运行循环的1个“节拍”中完成的事情(例如,以某些动画帧速率或UI响应速率),并为需要在同一“节拍”中完成的任何其他事件处理程序留出空间,无论是异步中断,还是分派到另一个线程执行。

否则,内容将被阻塞,直到控制返回到run循环。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5044285

复制
相关文章

相似问题

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