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

Вниз

udp и Tthread   Найти похожие ветки 

 
s22_shura   (2002-12-15 19:47) [0]

Доброго Вам времени суток!
Вопрос в следующем. Можно ли вынести в отдельный поток (TThread) часть программы, отвечающей за получение UDP сообщений и складирование их в какой то список. И назначить этому потоку максимально возможный приоритет.
Сомневаюсь потому, что, на сколько я понимаю в поток имеет смысл (да и просто только и можно) выносить законченные операции (последовательности команд). А тут получается что в конструкторе потока бкдет создаваться UDP сокет (TNMUDP). В обработчик ondatarecived , я вписываю занесение сообщения в очередь. НО что же тогда писать в методе Execute потока? Ведь поток по сути получается всё время ждёт прихода сообщений, а это уже не поток вроде :(
Если кто то может предложить способ, как повысить приоретет работы UDP, то пожалуйста помогите.
С уважением Shura. s22_shura@mail.ru


 
Sha ©   (2002-12-15 20:00) [1]

1. Вынести можно. Многие так и делают.
2. Но не надо использовать TNMUDP. Писать придется самому.
3. Даже с высоким приоритетом есть проблемы. Из-за нехватки процессорного времени сетевому драйверу в Win98 теряются датаграммы.


 
Digitman ©   (2002-12-16 09:02) [2]


> В обработчик ondatarecived , я вписываю занесение сообщения
> в очередь. НО что же тогда писать в методе Execute потока?


Как это что ? В Execute() из очереди последовательно выбираются сообщения и обрабатываются !


> Ведь поток по сути получается всё время ждёт прихода сообщений, а это уже не поток вроде


То, что поток чего-то "ждет" - это нормально. Важно чтобы он ждал "правильно", с использованием сист.объектов синхронизации, не отнимая при этом временных ресурсов процесса в целом.

Стартовать же новый поток всякий раз при необходимости обработать очер.сообщение - вот это неразумно. Старт потока для ОС равносилен старту двигателя в хол.погоду.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
1-15550
TAN
2003-01-28 15:26
2003.02.06
Дурацкий вопрос по копированию файлов


8-15761
Rom@n
2002-10-23 08:06
2003.02.06
Графика


9-15383
BJValentine
2002-08-05 11:44
2003.02.06
Первый блин комом


14-15924
Безногий Сусанин
2003-01-21 12:21
2003.02.06
Принимаю рационализаторские планы по уничтожению Пентагона...


3-15481
Zn
2003-01-15 16:01
2003.02.06
ADODataSet - SELECT с параметром типа Date