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

Потоки. Крит. секции.   Найти похожие ветки 

 
mart ©   (2002-01-06 13:08) [0]

Всем привет! В программе создается поток и некоторый код
защищен критической секцией (изменение некой переменной).
Та-же переменная изменяется в основном потоке и тоже защищена крит. секцией. Вопрос: Молжно ли использовать крит. секцию в основном потоке и, если нет, то как правильно сделать?


 
Макс Черных ©   (2002-01-06 14:15) [1]

>Молжно ли использовать крит. секцию в основном потоке
Можно. Надо только помнить, что:
Critical Section должна существовать при обращении
к ней из любого потока. Поэтому ее обычно объявляют как
глобальную переменную в основном потоке, а создают
и уничтожают в initialization и finalization основного потока.
При попытке входа в Critical Section, если она занята, то
основной поток встанет, соответственно интерфейс программы
замерзнет. Следовательно, необходимо чтобы при захвате
Critical Section другим потоком время захвата было небольшим,
а так же чтобы выход из Critical Section гарантированно выполнялся даже при возникновении exception.



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.005 c
14-75682
J_S
2001-11-23 22:36
2002.01.24
MОДЕРАТОРУ и ВСЕМ ОСТАЛЬНЫМ


3-75504
Алексей1
2001-12-21 00:39
2002.01.24
Добавляю запись с помощью SQL


1-75615
swr
2002-01-08 10:26
2002.01.24
меню Project/Resourses в Delphi IDE


3-75496
Kirill
2001-12-18 17:32
2002.01.24
ADO и новая запись


1-75568
NNC
2002-01-06 14:21
2002.01.24
Вопросик!




   Наверх