У меня есть несколько потоков, которые запускают один объект Singleton, и вызывают его метод и пропускают в нем объекты. В методе я делаю некоторые вычисления только на получаемом объекте. Я слышал, что в этом случае не было бы никаких проблем, потому что он без гражданства и свободен для всех.
Мой вопрос в том, как он свободен для всех? Я хочу знать, как несколько потоков могут вызывать общий метод в своем потоке без перезаписи переданных объектов других потоков? Пожалуйста, объясните с точки зрения распределения памяти и уровня стека.
class Singleton class{
//no shared class or object variables and only one copy of this Singleton object exists.
Object someMethod(Object o){
//do some calculation or logic on the object o and return some string result
}
}