本文介绍: 在本篇博文中,我们先是讲述了如何通过 Xcode 正确查看真机设备上的 ips.synced 日志文件以及如何通过 Xcode 定位到并发代码实际出错的位置;接着我们彻底搞清楚了 DispatchGroup.leave() 方法被多调用一次的根本原因并用新的 async/await 并发模型给出更简洁、更优雅的解决方案。
问题现象
现今,App 的性能大幅提升得益于强大处理器的多线程并发模型。不过,不恰当的并发同步代码也会导致诸多问题,严重的话可能直接引起 App 崩溃。
在 App 中我们尝试通过多线程并发获取 Web 页面中图片的大小,但由于线程间错误的同步代码导致多调用了 DispatchGroup.leave() 方法一次,引起了 App 的崩溃:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。