Class Shared{
public void sharedMethod(Object o){
//does something to Object
}
}
//this is how threads call the shared method
run(){
sharedInstance.sharedMethod(someObject);
}
Teraz parametr o
jest przekazywany jako parametr metody. Ta sama metoda jest wywoływana przez wiele wątków równolegle. Czy możemy bezpiecznie powiedzieć, że ten kod jest bezpieczny dla wątków?Czy Parametry metody wątek bezpieczne w Javie?
Istnieją dwa scenariusze:
- Jeśli
someObject
jest dzielona pomiędzy nićmi - Jeśli każdy wątek ma własną kopię
someObject
Nie, nie możesz tego powiedzieć. – bmargulies