在目标C中,将对象添加到数组是否是线程安全的(此数组的所有处理/变异/枚举都在其自己的单个线程上发生),而对象本身可能会在不同的线程上发生变异? / p>
在向数组中添加对象时,我只是传入一个内存引用,对此实际对象的更改不会导致问题吗?或者将该对象同时在另一个线程上进行变更,以便将其添加到数组中导致崩溃?
由于
答案 0 :(得分:2)
是的,这很安全。该数组仅关注存储对象的引用。对象本身的任何更改对于数组都是完全不可见的。当然,如果一个线程读取myObject = myArray [i],那么该线程必须意识到对象的内容可能随时发生变化。
答案 1 :(得分:-1)
是的,它是线程安全的。