Влияет ли отношение "до" на инверсию приоритета?
Мне интересно, случается ли до таких отношений, как volatile
переменная или finally
блок для снятия блокировки есть чем заняться для инверсии приоритетов? Я понимаю, что они навязывают отношения "до и после", что компилятор не может переупорядочить инструкцию. Влияет ли это также на инверсию приоритетов или это отдельные понятия? Может кто-нибудь дать мне пример, чтобы лучше это понять?
1 ответ
Отдельные понятия. "Инверсия приоритетов" - это идея о том, что если какой-то поток P с высоким приоритетом заблокирован, ожидая, что поток L с более низким приоритетом что-то сделает, то было бы выгодно, чтобы ОС временно повысила приоритет L, чтобы он был по крайней мере как высокий приоритет П.
"Происходит раньше" - это гарантия, предоставленная в Спецификации языка Java, которая помогает нам понять, становятся ли обновления памяти, сделанные одним потоком, другим потоком.