2011-04-26 116 views
0

ArrayList的不是线程safe.what发生在ArrayList中的方法parameter.Method参数一般是线程安全的ArrayList的线程安全

+0

如果参数“通常”是线程安全的,那么它们有时不是。你有索赔链接吗? – 2011-04-26 11:57:53

回答

3

你不能“加”线程安全一样,传递给线程安全。

如果某个类不是线程安全的,则需要在lock语句或类似语句中访问它。

1

我认为你在堆栈和堆之间有点混乱。 ArrayList作为方法参数传递的句柄/引用位于堆栈上,因此线程安全,因为该线程拥有的堆栈是唯一可以访问该引用的堆栈。

但是,实际的ArrayList存在于堆中,因此许多线程可以同时访问它,因此您需要使用某种形式的同步进行保护,或者根据API,您可能会获得“同步“版本的ArrayList本身。