Постскриптум Если есть доказательства того, что чтение происходит быстрее, чем запись, тогда Interlocked.CompareExchange может быть лучше для этого случая (только один раз в первый раз, и я предполагаю, что многие не первые).
ли практическая причина, по которой команда .NET решила не поддерживать Boolean в операции Interlocked.Exchange?
Один из примеров использования - когда вы хотите гарантировать, что некоторый код выполняется только один раз, и вы хотите использовать для этого логический флаг.