Каковы отношения с потокобезопасностью и неизменными объектами? Это делает легче совместно использовать единственный ресурс среди нескольких потоков? Если неизменные объекты являются не сохраняющими состояние, они могут быть объединены в контейнере как контейнер J2EE?
спасибо
Объекты ThreadSafe являются объектами, которые позволяют получать доступ одновременно несколькими потоками. Их гарантия их реализации (например, с помощью блокировков / синхронцизированных методов / ...), что они не попадут в неверное состояние. Кроме того, не должно быть потери данных.
Неподвижные объекты не могут быть изменены после их создания. Итак: Да, они какой-то без гражданства.
Поскольку неизменные объекты не могут быть изменены, нет необходимости в блокировке - чтение доступа к объектам всегда ThreadSafe (когда не модифицируют переменные). Поэтому реальные неизменные объекты всегда являются ThreadSafe.
Неподвижные объекты - это объекты, которые не могут быть изменены. Если объект не может быть изменен, то нет беспокойства о том, что конкурирующая нить будет изменять состояние объекта «За спиной» выполненного потока, и поэтому неизменных объектов не нужно защищать через синхронизацию или какую-то другую технику.
Immutable Object: Объект, который не изменяет своего внутреннего состояния.
Связь с потокобезопасностью: если объект не может быть мутирован, то безопасно использовать его в потоках, т.е. нет необходимости иметь блокировки или тому подобное для обеспечения согласованности - в потоках.