Возможно, имелись в виду различия между ключевым словом volatile и read-write блокировками в контексте многопоточного программирования.
Ключевое слово volatile вынуждает потоки отключить оптимизацию доступа и использовать единственный экземпляр переменной. 5 Запись таких переменных производится в основную память, минуя локальную. 5 Чтение volatile-переменной также происходит из основной памяти, то есть операция чтения гарантированно вернёт последнее записанное в неё значение. 5 Однако применение volatile не защищает от перестановки операций записи и чтения. 14
Read-write блокировки используются, когда нескольким потокам нужен доступ к одним и тем же данным для чтения, и при этом нет причин, по которым они не могут выполняться одновременно. 3 С помощью read-write блокировок можно реализовать такой потенциальный параллелизм. 3 Простейшая read-write блокировка использует спинлок для контроля доступа к записи и поле-счётчик для читателей. 3
Таким образом, разница между volatile и read-write блокировками заключается в их функциях: volatile фокусируется на обеспечении потокобезопасности переменных, а read-write блокировки предназначены для реализации параллельного доступа к данным.