Параллельный вызов метода Java одноэлементного объекта

объект, а его класс объявлен следующим образом:

public class SomeClass {
    public void someMethod(SomeValueObject object) {

        if (object.condition1) {
            ...
        }
        if (object.condition2) {
            ...
        }
        if (object.condition3) {
            ...
        }

    }
}

Мне интересно, если к этому одноэлементному объекту осуществляется одновременный доступ и его метод someMethod вызывается с отдельными экземплярами SomeValueObject, есть ли шанс, что какой-то случайный поток изменит ссылку наобъект] для вызова метода другого потока и путаницы?А как насчет полей, созданных внутри области действия метода? Что я не знаю, создается ли какой-либо отдельный контекст метода для каждого потока, вызывающего метод, или контекст метода одинаков для всех вызывающих его потоков? Если это последний случай, я думаю, мне нужно ключевое словоsynchronizedдля безопасности потоков или использовать отдельные экземпляры SomeClass для каждого потока (на случай, если мне нужно более быстрое выполнение по оптимизации памяти). Не могли бы вы объяснить мне, в чем дело?

П.С. Спасибо за все ваши ответы, ребята!

10
задан Martin Asenov 3 March 2012 в 18:13
поделиться