Почему для double нет функции Interlocked.Read, поскольку для double доступны методы Interlocked.Exchange и Interlocked.CompareExchange, которые могут выполнять более сложные функции атомарно. Использование таких методов для атомарного чтения двойного значения (вместо использования Interlocked.Read) добавит накладные расходы на простую операцию чтения.
Не могли бы вы предложить более простой подход к атомарному чтению двойника, когда другой поток обновляет этот двойник, используя метод Interlocked.Exchange.