Здравствуйте, Sinclair, Вы писали:
S>И отдельно хочется отметить, что унизительный код Disruptor с выравниваниями связан с особенностями именно Java — дотнет предоставляет гораздо более прямые и лаконичные возможности по управлению выравниванием, см. https://github.com/disruptor-net/Disruptor-net/blob/master/src/Disruptor/Sequence.cs
[StructLayout(LayoutKind.Explicit
Сдаётся мне, что придумано для взаимодействия с сишными API (для PInvoke) — я это использовал именно так. То, что таким способом можно в кэш-линии попадать, это случайность. Сам по себе атрибут StructLayout появился, когда false-sharing ещё не мог быть проблемой ни в каком виде: в серверах 2002 года обычно было 1–2 процессора.