Class Shared{
public void sharedMethod(Object o){
//does something to Object
}
}
//this is how threads call the shared method
run(){
sharedInstance.sharedMethod(someObject);
}
Теперь o
передается как параметр метода. И тот же метод вызывается несколькими потоками параллельно. Можем ли мы с уверенностью сказать, что этот код является потокобезопасным?
Существует два сценария:
- Если
someObject
делится между потоками - Если каждый поток имеет свою собственную копию
someObject