iphone - 运行循环实际上是如何工作的

标签 iphone nsthread runloop

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

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

如果我在处理完这个之后得到了一些正确的信息,但没有完全理解它,那么运行循环是一个循环,您在其中附加“标志”,通知运行循环当到达标志所在的点时,它“停止”并执行此时附加的任何处理程序?然后它继续运行到队列中的下一个。

runloop

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

最佳答案

“有点。”

你读过this particular documentation吗? ?

它对运行循环的架构和操作进行了相当深入的研究。

关于iphone - 运行循环实际上是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5044285/

相关文章:

iphone - 如何在 UISearchBar 中创建两个输入文本字段

objective-c - 死锁 : How do you determine if a call may cause unsafe painting off of the main thread for iOS?

ios - UndoManager运行循环分组将如何在不同的线程上下文中受到影响?

objective-c - Cocoa GUI 类如何在不调用 NSApplication 或 NSRunLoop 的情况下运行

cocoa - 从计时器停止 NSRunLoop

iphone - 如何更改 UIAlertView 中的按钮颜色

ios - 无需越狱iPhone即可访问/var/mobile/Containers/Data/Application中的文件

iphone - UIWebView 滚动时在顶部和底部显示白色条

ios - 在 NSThread 或 NSOperation 中使用 NSUrlConnection

javascript - 将多个字符串传递给 stringByEvaluatingJavaScriptFromString 时出现问题