假设我有一个带有10个对象的MutableArray myArray。
每个对象都是一个包含10个不同子视图的视图。
现在假设我设置了两个NSTimers,或者我从服务器接收了一些通知。每个函数都有一个代码或一个调用myArray对象的循环。
现在假设在xxxxx的某个时刻,两个函数都调用了一个对象myTField,并且两个函数都尝试使用setText。请记住,时刻是相同的,它是否会导致内存泄漏问题或者它将如何影响对象,如果没有相应的值将被设置。
答案 0 :(得分:2)
UIView
通常不打算从多个线程中使用。这个例子使用它是一种不好的类型。让我们解决这个问题,而不是假设数组包含NSMutableString
s。我们还假设你的意图是说同时由不同的线程修改对象。
那说;除非为此目的声明对象是线程安全的,否则您必须假设它是竞争条件并且未定义的行为。
注意到一些显而易见的事情:
答案 1 :(得分:0)
由于您只能(或者当然应该)更新主线程上的文本字段,无论哪个运行第二个都将设置文本。应该没有泄漏问题。
如果您的代码在修改文本字段时未在主线程上运行,请将其更改为。