Главная страница
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.48 MB
Время: 0.008 c
15-1326347387
Demo
2012-01-12 09:49
2012.05.20
Выбор ноутбука для Delphi


15-1326056648
Dmitry1987
2012-01-09 01:04
2012.05.20
обновление данных при multi-user работе


15-1326313802
Юрий
2012-01-12 00:30
2012.05.20
С днем рождения ! 12 января 2012 четверг


15-1326395478
Медвежонок Пятачок
2012-01-12 23:11
2012.05.20
смарт тв против 24p


4-1257109119
Maksim V.
2009-11-01 23:58
2012.05.20
Запретить DrawFocusRect. при отрисовке строк Listbox