Как я знал что volatile это обеспечение синхронизации переменной между кэшами процессорами, уведомляя каждое ядро перед началом изменения и после окончания изменения, какую роль здесь играет кэш третьего уровная, как я читал что он может использоваться как буфер для синхронизации данных, значит ли что volatile переменная хранится в кэше третьего уровня, а значит что чуть чуть медленнее?
значит ли что volatile переменная хранится в кэше третьего уровня, а значит что чуть чуть медленнее?
Нет. Прямой зависимости между volatile переменной и кешем третьего уровня - нет.
Как уже заметили выше, ключевое слово volatile гарантирует, что изменения переменной в одном потоке будут видны остальным потокам из-за правил happens before. Подробнее тут
С кешами L1, L2, L3 работает только сам процессор. Он сам решает какие данные подгружать. У нас нет доступа к кешу процессора ни через С ни через ассемблер (поправьте меня в комментариях, если я не прав) Подробнее на вики.
Теоретически при частом обращении к одной и тоже переменной процессор может положить ее в кеш, но мы не можем гарантировать это на 100%
P.S:
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Хочу создать класс, наследуемый по классу ArrayList и переопределить его методы ( допустим добавить в методadd() счётчик, который будет подсчитывать...
Как загрузить звук в soundpool из URI? Сейчас таким методом не работаетХотя из raw все грузит
В программе существует несколько синхронизированных потоков, каждый из них рекурсивен, и создает новый объект который содержит в себе примерно...
В сервлете по URL - /user/registration регистрирую пользователя и записываю в его браузер куки