Большинство Java разработчиков мало мальски знакомых с многопоточностью, знают:
Что операции с переменной помеченной как volatile синхронизируют кеши потоков!
Однако мало кто знает следующие две вещи:
Что операции с переменной помеченной как volatile синхронизируют кеши потоков!
Однако мало кто знает следующие две вещи:
- Суть кеша потока зависит от архитектуры системы, для большинства из нас это x86, а это значит что кеш потока это регистры и кеши процессора.
- Поскольку x86 это симметричная мультипроцессорная система, то volatile особо и не нужен в виде синхронизации кешей потоков, ведь для таких систем сама аппаратура обеспечивают когерентность кешей.
Так что читай господа и думайте, а то на собеседованиях ходить тошно!
Комментариев нет:
Отправить комментарий