iOS开发文集iOS 10 Day By Day: Thread Sanitizer线程检查工具


发布者 Elyn  发布时间 1472797061097
关键字 分享 

通常,这些是由于多个线程同时访问相同的一些内存而造成的。我猜想,线程问题是许多开发人员做噩梦的原因。他们是出了名的难以追踪,错误只发生在特定条件下:所以确定问题的根源是非常复杂的。

通常导致线程问题的原因是所谓的“竞争条件”。我们不会去关注太多的细节,像是这意味着什么,而是从谷歌引用ThreadSanitizer手册:


数据竞争发生在当两个线程同时访问同一变量,并且至少有一个访问是编写状态时。


这些用来追踪的是一个绝对的噩梦,但值得庆幸的是Xcode附带一个新的调试工具叫做Thread Sanitizer,甚至可以在你注意到他们之前帮助识别这些问题。

The Project

我们将创建一个简单的应用程序,使我们能够存款和取款100美元面额。像往常一样,项目的完成版本已在GitHub上(为了方便各位读者,小编已经为大家整理了,请点击这里下载)。

The Account

我们的Account模式非常简单:

······









  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA