Просто хочу немного прояснить это.
Представьте, что я использую API окон EnterCriticalSection. Я вызываю их все с помощью EnterCriticalSection (& criticalsection);
Это многопоточная функция потока
void thread (){
//enter critical section (part 1)
data
//leave critical section
///more data 1
//entercritical section (part 2)
//more data 2
//leave critical section
}
Когда поток входит в критический (часть 1), другие потоки не могут войти в этот раздел независимо от того, больше data 1 на самом деле имеет какие-то общие данные или нет? Также в это время другие потоки также не могут войти во вторую часть критического раздела.