28 Критические секции.
Это часть программы, результат
выполнения которой может непредсказуемо меняться, если переменные изменяются
другими потоками, в то время, когда выполнение этой части еще не завершено. Она
определяется по отношению к критическим данным. Каждый данный момент может
находиться только 1 поток. Требования к критическим секциям:
1) в любой
момент времени только 1 процесс должен находиться в критической секции, 2) не
один поток не должен находиться в своей бесконечно долго, 3) не один поток не
должен бесконечно долго ожидать разрешения входа в критическую секцию, 4) если
2 потока хотят войти в секции, принятие решения не должно продолжаться
бесконечно долго, 5) поток, находящийся вне критической секции не должен блокировать критическую секцию другого потока,
6) если поток находящийся в своей секции, завершается
естественным или аварийным путем, то режим исключения должен быть отменен.