Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Oсвобождение критической секции [D6, Win95/98, Win2k]


Tom ©   (2004-07-08 15:23:00) 

привет всем!
проблеммы как таковой не имеется но есть вопрос:
Насколько долго один поток ждет освобождения критической секции которая занята другим потоком? эта величина как нибудь задается?
Спасибо за внимание! :)


Tom   (2004-07-08 15:32:00) [1]

Spasiba!


default   (2004-07-08 15:30:00) [2]

бесконечно, может в ОС и есть какой предел, но ты его не знаешь и тем более установить не можешь
используй
while not TryEnterCriticalSection(ну или как там она зовётся, но не на всех осях работает) do Sleep(100);(подход-ее значение сам какое надо установишь)
EnterCriticalSection(CS);
или используй мьютексы(CreateMutex), там можно задать время ожидания, но они медленней работают


Sandman25   (2004-07-08 15:27:00) [3]

Есть EnterCriticalSection, есть TryEnterCriticalSection.
В TCriticalSection используется первое - неограниченное ожидание.


Наверх

Титульная страница Поиск, карта сайта Написать письмо