Главная страница
    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.45 MB
Время: 0.039 c
3-1099906465
Bless
2004-11-08 12:34
2004.12.05
NextRecordset(RecordsAffected). Что возвращает RecordsAffected?


14-1100511354
помаранчевий Жук
2004-11-15 12:35
2004.12.05
Андрей Шевченко забил 100-й мяч в Серии А!


14-1100534465
vasilii
2004-11-15 19:01
2004.12.05
profiler для Delphi7


3-1099920344
msguns
2004-11-08 16:25
2004.12.05
Обновление с подсчетом в Аксесе


1-1101302963
Саша
2004-11-24 16:29
2004.12.05
Макроподстановка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский