Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 17:39   #1
Son
Пользователь
 
Аватар для Son
 
Регистрация: 24.11.2008
Сообщений: 76
По умолчанию Как реализовать запуск и контроль нескольких однотипных потоков.

Доброго времени суток. У меня возникли затруднения при реализации многопоточного приложения. Есть реализация потока для загрузки данных с сайта для парсинга и прочего. Мне необходимо вести несколько загрузок с разных сайтов. Логично для каждой загрузки запустить свой поток. Как мне на основе того потока что у меня есть запустить несколько его копий, с возможностью приостановки и контроля? Поделитесь пожалуйста подобным опытом.
Лучше сдохнуть, чем жить с иглой в яйце (Кащей Бессмертный)
Son вне форума Ответить с цитированием
Старый 28.04.2010, 00:53   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

как у вас организован поток?
на основе TThread?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.04.2010, 09:05   #3
Son
Пользователь
 
Аватар для Son
 
Регистрация: 24.11.2008
Сообщений: 76
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
как у вас организован поток?
на основе TThread?
Да. Реализован отдельным модулем. Проходит инициализация. Потом загрузка данных: отправляю GET запрос и начинаю загрузку файлов. По Terminated проверяю не был ли остановлен. Использую функции из модуля WinInet.
Надо запустить несколько загрузок. И логика подсказывает что для каждой надо создать переменную потока. Или запустить несколько копий из одной переменной? Но тогда как контролировать работу запущенных потоков? Послать например им сигнал об остановлении.
Лучше сдохнуть, чем жить с иглой в яйце (Кащей Бессмертный)
Son вне форума Ответить с цитированием
Старый 28.04.2010, 11:11   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

array of TThread может?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.04.2010, 11:14   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Но тогда как контролировать работу запущенных потоков?
А какой контроль тебе нужен? Вот прям по пунктам расскажи.
Просто можно запустить поток в локальной переменной, а весь контроль нагрузить в него
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.04.2010, 08:40   #6
Son
Пользователь
 
Аватар для Son
 
Регистрация: 24.11.2008
Сообщений: 76
По умолчанию

Нужно послать ему Terminate. Поток это отслеживает. Как понимаю остается реализовать только через array of TThread
Лучше сдохнуть, чем жить с иглой в яйце (Кащей Бессмертный)
Son вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение сразу нескольких однотипных значений Domanoff БД в Delphi 2 22.04.2010 13:37
Как реализовать запуск mstsc.exe с вводом ip, логина и пароля? ru3000 Microsoft Office Excel 35 19.07.2009 23:49
Обработка событий от нескольких однотипных девайсов MadButcher Win Api 0 18.03.2009 15:05
как реализовать в программе, запуск bat файлов? SereJa1020 Общие вопросы Delphi 1 06.03.2008 18:10