История изменений
Исправление urxvt, (текущая версия) :
Да, почти все верно. volatile оборачивается барьерами памяти, чтобы другая сторона увидела все записи а не только в volatile-переменную [1].
Но как мне кажется эта хня бессмысленна на процессорах x86, потому что архитектура ia32/amd64 форсирует когерентность состояний между памятью и кешами разных уровней и проблем несогласованной видимости быть не должно.
Кроме памяти есть еще перестановка инструкций, на 100500 уровнях: javac, JIT, сам процессор. Потому без volatile все может рухнуть через переупорядочивание кода.
А чтоб проверить себя остается только наврать в резюме и найти интересное место работы :)
Как по мне, это хорошая стратегия — выучить Х и сказать что ты его использовал. Но тут главное «выучить». А не просто написать, что пользовался, как большинство делает.
[1] Сейчас asdpm скажет, что я свойства жаба-объекта переменными назвал. Какой ужос. :)
Исходная версия urxvt, :
Да, почти все верно. volatile оборачивается барьерами памяти, чтобы другая сторона увидела все записи а не только в volatile-переменную [1].
Но как мне кажется эта хня бессмысленна на процессорах x86, потому что архитектура ia32/amd64 форсирует когерентность состояний между памятью и кешами разных уровней и проблем несогласованной видимости быть не должно.
Кроме памяти есть еще перестановка инструкций, на 100500 уровнях: javac, JIT, сам процессор. Потому без volatile все может рухнуть через переупорядочивание кода.
А чтоб проверить себя остается только наврать в резюме и найти интересное место работы :)
Как по мне, это хорошая стратегия — выучить Х и сказать что ты его использовал. Но тут главное «выучить». А не просто написать, что пользовался, как большинство делает.
[1] Сейчас asdpm скажет, что я свойства жаба-класса переменными назвал. Какой ужос. :)