LINUX.ORG.RU

История изменений

Исправление 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 скажет, что я свойства жаба-класса переменными назвал. Какой ужос. :)