Что такое критический раздел?

Просто хочу немного прояснить это. Представьте, что я использую 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 на самом деле имеет какие-то общие данные или нет? Также в это время другие потоки также не могут войти во вторую часть критического раздела.

7
задан Jake 9 April 2011 в 19:02
поделиться