Важность критического региона и мониторов как механизма синхронизации
Я читал во многих учебниках, что критическая область и мониторы - это механизмы языка высокого уровня, обеспечивающие механизм синхронизации.
Я не мог найти более простое объяснение об этом в любом тексте. У меня есть некоторые сомнения по этому поводу.
Как компилятор на самом деле реализует это?
Доступны ли эти вещи в C, Java, Python .,?
Какова важность условных конструкций в мониторах и критической области (условная критическая область)
1 ответ
В java мониторы являются встроенным элементом языка. Они доступны для synchronized
ключевое слово, и иметь несколько связанных с ними функций (таких как wait()
). Вы можете Google, чтобы узнать больше об этом.
Относительно того, как это реализовано, есть несколько алгоритмов, которые реализуют мониторы, с разными плюсами и минусами. Если вы заинтересованы в этом, позвольте мне порекомендовать книгу Херлихи и Шавита - искусство многопроцессорного программирования.