Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Совместный доступ двух потоков к объекту TQueue   Найти похожие ветки 

 
Balkon   (2004-11-17 14:01) [0]

Добрый день, Уважаемые! Подскажите пожалуйста, корректно ли использовать объект TQueue, при совместном доступе к нему из двух потоков(основного и вторичного), помещая обращения к очереди Push, Pop, Peek в критические секции? Заранее спасибо.

Код вроде следующего:

var P: PSomeData;
...
EnterCriticalSection(MainCS);
Queue.Push(P);//В основном потоке
LeaveCriticalSection(MainCS);
...
EnterCriticalSection(SecondaryCS);
SomeData := PSomeData(Queue.Peek)^;//Во вторичном потоке
LeaveCriticalSection(SecondaryCS);
...


 
Digitman ©   (2004-11-17 14:04) [1]

не знаю, что из себя представляет этот класс-очередь, но в первом приближении - достаточно корректно.

а в связи с чем возник вопрос ?


 
Balkon   (2004-11-17 14:12) [2]

Спасибо.
[а в связи с чем возник вопрос ?]
Пишу оболочку для некой железяки, подключенной через com-порт. В очередь помещаю команды, которые затем пишутся в порт вторичным потоком. Имеются определенные баги... Ищу причину. Попытаюсь конкретнее описать проблему позже, если не найду причин, а сейчас покопаю в другом месте.



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

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
4-1098363879
-=SS=-
2004-10-21 17:04
2004.12.05
Как програмно изменить локализацию настроек ОС


1-1101306761
makingoff
2004-11-24 17:32
2004.12.05
открытие проги из списка "открыть с помощью"


1-1101054614
Bobby Digital
2004-11-21 19:30
2004.12.05
Формы и ф-ции


3-1099560939
Kat
2004-11-04 12:35
2004.12.05
Если затем открыть запрос надо ли делать IBQuery.SQL.Clear ?


1-1100958768
Larisa
2004-11-20 16:52
2004.12.05
Установила Delphi 7 при попытке откомпилировать старый