Ответ 1
Если ваше предположение выполнено, то проблем нет.
Предполагая, что переменная не подвержена риску изменения во время чтения, существуют ли какие-либо неотъемлемые проблемы в переменной, считываемой двумя или более потоками одновременно?
Если ваше предположение выполнено, то проблем нет.
Нет, эта операция не является поистине безопасной потоком.
Несмотря на то, что в настоящее время переменная не записывается, предыдущие записи в переменную могут пока не отображаться для всех потоков. Это означает, что два потока могут считывать одно и то же значение и получать разные результаты, создавая условие гонки.
Это может быть предотвращено за счет наличия барьеров памяти, правильного использования летучих или нескольких других механизмов. Нам нужно будет узнать больше о вашей среде, в частности языке, чтобы дать полное объяснение.
Небольшое повторение вашего вопроса, хотя и дает лучший ответ. Предполагая, что больше нет записей, и все предыдущие записи видны текущему потоку, тогда да, чтение значения из нескольких потоков безопасно.
Пока это простая переменная, у нее нет риска.
Если это свойство, его чтение может иметь побочные эффекты, поэтому не гарантируется безопасность потоков.
Учитывая, что базы данных могут обычно использовать общие блокировки чтения, где любое количество клиентов может читать один и тот же блок, я бы предположил, что есть нет прямых неотъемлемых проблем.
Да в трех символах.
Изменить: Упс. Да, это потокобезопасно. Нет, проблем нет. Обычно люди спрашивают, существует ли что-то потокобезопасное, а не если оно небезопасно.