Class Shared{
public void sharedMethod(Object o){
//does something to Object
}
}
//this is how threads call the shared method
run(){
sharedInstance.sharedMethod(someObject);
}
现在将o
作为参数传递给方法。同一个方法被多个线程并行调用。我们能否安全地说这段代码是线程安全的?Java中的方法参数是否是线程安全的?
有两种情况:
- 如果
someObject
被线程之间共享 - 如果每个线程都有自己的
someObject
不,你不能这么说。 – bmargulies