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

Вниз

Подскажите насчет потоков Thread   Найти похожие ветки 

 
Wadim   (2012-01-18 13:36) [0]

Как правильно сделать, есть несколько потоков
Поток Start1
Поток Start2
Поток Get1
Поток Get2

Поток Start1 запускает поток Get1, контроллируя TimeOut и т.п.
аналогично и 2 других потока

В потоках Get 1 и Get 2 их результат один и тотже но получает все разными методами

Как правильно мне записывать данные в 1 массив по результатам их работы, чтобы не было перекрестных запросов в массиву с результатами
После отработке в потоках Get1 и Get2 через Synchronize запускается обработчик событий, в котором и записываются данные в массив, запуская в этом обработчике процедуру принятия решений согласно полученным данным.
Хватит ли одного Synchronize или добавить еще критическую секцию? вообщем как правильно сделать?


 
Dimka Maslov ©   (2012-01-18 13:38) [1]

Syncronize и есть критическая секция, но она синхронизируется ещё и основным потоком, что вызовет замедление. Если потоки не обмениваются данными с компонентами на форме - лучше сделать отдельную критическую секцию.


 
Wadim   (2012-01-18 13:46) [2]

спс, да там есть обмен с формой, если нужен мне вывод результатов, да и замедление там только мат. расчет или зпуск других потоков, замедление не заметно


 
Dimka Maslov ©   (2012-01-18 13:51) [3]

Всё дело в объёме обрабатываемых данных и частоте вызова синхронизации. У меня в одном проекте замедление из-зе неё составляло несколько порядков, пока я всё не переделал.


 
Wadim   (2012-01-18 14:03) [4]

В массиве в 1 записи всего полей 10 макс, 1 поток за обращение работает 1 одной записью, частота запросов Get1 1 запрос в 2 секунды, Get2 4 запроса в минуту, еще добавлю Get4 и Get5 примерно по 10 запрос в минуту каждый, думаю тормозить не должно


 
Ega23 ©   (2012-01-18 14:14) [5]


> думаю тормозить не должно

Это вообще копейки.



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1326617501
3asys
2012-01-15 12:51
2012.05.20
Сообщение о добавлении в таблицу новой записи


2-1326953184
OW
2012-01-19 10:06
2012.05.20
Из потока надо передать строку в VCL сообщением


2-1326881105
u4enik
2012-01-18 14:05
2012.05.20
помогите разобраться с указателями


15-1326539168
SQLEX
2012-01-14 15:06
2012.05.20
Шахматы. Короткие партии. Аля "Клуб13"


15-1326441149
Riply
2012-01-13 11:52
2012.05.20
Распознавание изображений