По какой причине метод Interlocked.Add принимает только int? Чем double мешает при атомарности?
Проблемы лежат в низкоуровневых деталях реализации этих конструкций операционной системой (просто нет реализации этих версий на уровне ОС/процессоров). Подробности можно почитать на английской версии сайта: https://stackoverflow.com/questions/1400465/why-is-there-no-overload-of-interlocked-add-that-accepts-doubles-as-parameters
Сборка персонального компьютера от Artline: умный выбор для современных пользователей