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

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

← →
Nucl ©   (2003-05-29 14:57) [0]

Я заметил что некоторые вещи, которые я обычно реализую на таймере, некоторые гуру заменяют потоками. Объясните, где здесь собака зарыта?
Из последнего, что попадалось: замена таймера потоком, чтение из COM порта в потоке.


← →
clickmaker ©   (2003-05-29 15:22) [1]

COM порт - штука асинхронная, поэтому логичней ждать, когда он сам заявит, что данные готовы, а не дергать его с неким интервалом. Но ожидание не должно тормозить основную работу с приложением, отсюда и поток.
По той же причине, в отдельном потоке обычно работают с сокетами, да и вообще с любыми средствами сетевого общения.


← →
Digitman ©   (2003-05-29 15:26) [2]


> Nucl


"собака зарыта" в механизме сообщений Windows, при котором сообщения, адресованные окнам, созданным конкретным кодовым потоком, выбираются из очереди/диспетчеризуются/обрабатываются этим код.потоком последовательно.

В то же время код.потоки работают "параллельно", выполняя каждый свою задачу: возможно - принимая и обрабатывая последовательно адресованные каждому из них сообщения, возможно - просто выполняя какие-то длительные и "тяжелые", линейные или циклические вычисления.


← →
Nucl ©   (2003-05-29 15:31) [3]

Да, но здесь же возникает проблема синхронизации потоков.
А виндовые сообщения можно "подтолкнуть" вызвав application.ProcessMessages.


← →
Serginio   (2003-05-29 15:35) [4]

Таймеры прерывают работу приложения. И каждое прерывание обрабатывается в главном потоке. При использовании таймера все вычисления происходят ассинхронно. Некоторые даже вставляют таймеры в поток. Мне больше нравятся потоки со слипами намного меньших по времени нужного, но все зависит от реализации.


← →
Digitman ©   (2003-05-29 15:43) [5]


> Nucl


> возникает проблема синхронизации потоков


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


> А виндовые сообщения можно "подтолкнуть" вызвав application.ProcessMessages.
>


Не "виндовые" (все они виндовые !), а сообщения, адресованные основному код.потоку и окнам, им созданным.

А упомянутое "толкание" ведь кроме быстрого решения проблемы имеет и ряд немалых недостатков !



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

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



Память: 0.46 MB
Время: 0.019 c
1-26484
tv
2003-05-29 12:06
2003.06.09
Печать TStringGrid в виде таблицы


3-26355
DedMoroz
2003-05-18 21:44
2003.06.09
Paradox


14-26673
Akni
2003-05-21 12:04
2003.06.09
E-Mail Attach


1-26554
testthewest
2003-05-27 15:20
2003.06.09
как узнать размер текста в RichEdit


3-26361
Николай
2003-05-20 18:32
2003.06.09
проблема с таблицей




   Наверх