Форум: "Основная";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];
ВнизКритическая секция для нескольких нитей. Найти похожие ветки
← →
iZEN (2003-06-03 09:42) [0]В VCL есть сласс SyncObjs.TCriticalSection. Есть ли какие-либо ограничения на количество ожидающих нитей, когда одна нить уже заняла критическую секцию? (Скажем: можно ли больше двух ожидающих нитей, и какая из ожидающих нитей в этом случае получит доступ к критической секции после её освобождения?)
Спасибо.
← →
Кулюкин Олег (2003-06-03 09:47) [1]Больше двух - можно, однозначно.
У меня 100 потоков было и все нормально жило.
А первой получит доступ тот поток, который первым позвал TCriticalSection.Enter.
← →
Digitman (2003-06-03 10:12) [2]1. ограничений никаких нет - внутрисист.реализация крит.секции не ведет никаких счетчиков
2. зависит от многих факторов (приоритет потока/процесса - в первую очередь), очередность постановки запроса на захват крит.секции далеко не всегда соответствует очередности собственно захвата
собственно, ключ.момент в реализации запроса на захват секции - инструкция CMPXCHG
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c