Основные типы, такие как Integer
, Boolean
, Char
и Pointer
, безопасны для чтения в любое время. Ссылочные типы, такие как string
, интерфейсы и динамические массивы, безопасны для чтения, только если нет шансов, что другой поток может одновременно назначить новое значение. Используйте критический раздел или метод Synchronized
, например, чтобы убедиться, что поток не изменяет значение, пока основной поток читает из него.
Вы также должны помнить, что любое прочитанное вами значение может устареть к тому времени, когда вы его используете - поток мог записать новое значение между временем, когда вы его прочитали, и временем, когда вы его используете.