Я прочитал и изучил, как работают спин-блокировки. Теперь у меня вопрос, на который я не могу найти исчерпывающий ответ:
как они работают в среде UP (однопроцессорная) и в среде SMP (симметричная многопроцессорная)? В чем отличия и проблемы?
Я прочитал и изучил, как работают спин-блокировки. Теперь у меня вопрос, на который я не могу найти исчерпывающий ответ:
как они работают в среде UP (однопроцессорная) и в среде SMP (симметричная многопроцессорная)? В чем отличия и проблемы?
Спин-блокировки практически бесполезны в случае UP. Они просто сожгут свой отрезок времени. Лучше бы они спали в UP. В случае SMP спин-блокировки могут быть предпочтительнее спящего режима, если ожидаемое время ожидания меньше среднего времени, необходимого для повторного получения кванта времени для этого потока.
Отвечая на ваш вопрос "как они работают"? Везде одинаково, просто тратя процессорное время на свой квант времени.