Вниз
Скачать: CL | DM;

Критическая секция для нескольких нитей.   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
14-50501
Soft
2003-05-29 19:15
2003.06.16
Плохой программы не существует, бывают плохие пользователи:)


1-50396
Петр
2003-06-03 13:06
2003.06.16
Обработка исключений в DLL


1-50321
Александер
2003-06-02 20:17
2003.06.16
Чтение/запись свойств компаненты в RunTime


7-50529
Jorassic_f
2003-04-10 12:41
2003.06.16
насильный скролинг или Message при скролинге


4-50564
}{enon
2003-04-17 17:32
2003.06.16
Как получить название кнопки?




   Наверх