什么是Web线程?

7
由于一些自己引起的问题,我成功崩溃了我的iPhone应用程序,并收到以下错误信息:
“尝试从主线程或Web线程以外的线程获取Web锁。这可能是从辅助线程调用UIKit的结果。现在崩溃...”
解决这个问题并不是问题,但这个错误消息让我想起了什么...
我知道什么是主线程,并且知道如何将上下文切换回它。但是,“web线程”是什么?我似乎从未听说过这个术语。

完全不熟悉iPhone开发;似乎应该是负责任何HTTP/WS调用的线程。在Web世界中,我会将其视为在返回应用程序和主线程之前对各种服务(WS/数据库)进行调用的线程。 - Aaron McIver
1个回答

5

Web线程是由所有UIWebView共享的单个线程,它在执行请求时会暂时阻塞主线程。


2
有趣...所以工作在另一个线程上运行;然而它阻塞了不同线程上的执行...这似乎与线程相悖。这里没有移动经验... - Aaron McIver
请原谅我的无知,但这有什么好处?我通常会启动自己的线程(特别是现在有了GCD),然后在那里执行网络输入/输出... 在执行网络操作时锁定UI线程看起来很奇怪... - Jason Whitehorn
@Aaron:我同意。当您阻塞主线程时,产生另一个线程的优势并不确定,但是您可以看到其他人在这方面遇到了问题。 (https://dev59.com/IknSa4cB1Zd3GeqPNWBu) - FreeAsInBeer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接