Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Для новичков > Распараллеливание потока |
Автор: AlexeyShestchenko 23.4.2008, 19:26 |
Всем здрасти. У меня тут такое дело..вообщем думаю на программу нацепить потоки, т.к. в ней присутствует скачка страниц из интернета. Задача такая, у друга есть хостинг (~1000 сайтов). Имеются ссылки на все страницы этих сайтов, понятно откуда ![]() Друг попросил чтобы я написал прогу, которая будет проверять наличие определенных keyword на страницах этих сайтов. Причем сделать все это нужно было под win!!!(как просто это делается в unix обсуждать не будем, а то ща полетят советы ;))). все сделал, работает, Но последовательно, береться одна ссылка, потом вторая и т.д. Но вот подумал что если сделать все это дело через потоки то оно быстрее будет, при распараллеливании. Вижу следующим образом, если не верно то поправьте, опыт работы с потоками >> 0 : создаю поток - МОНИТОР, еоторый будет мониторить кол-во запущенных потоков и их состояния. ну и сам поток который будет скачивать страницу и проверять keywords'ы и в зависимости от их нахождения добавлять инфу на форму. В ту сторону думаю или нет? Если мыслю правильно, то следующий вопрос, сколько надо загружить одновременно потоков для загрузки страниц? Петровича читал. Жду ваших комментариев и советов на мою тему. |
Автор: dumb 23.4.2008, 20:53 |
может таки ограничиться поиском по файлам локально, раз уж друг - хостер? |
Автор: AlexeyShestchenko 23.4.2008, 22:28 |
я ж написал что надо под вынь, это делается на заказ для группы людей,кто им даст доступ к серваку.))) можно конечно ограничиться тем что есть, но я уверен просто что с использованием потоков работать будет быстрее. Прошу помощи! |
Автор: AlexeyShestchenko 24.4.2008, 14:57 |
мониторить из основного потока - это имеется ввиду таймером? а если мне надо еще к тому мониторить появление новых данных на проверку, как тогда быть? почему нужно делать временные промежутки между запусками потоков? я примерно сделал похожую конструкцию. т.е. есть поток монитор, на форме есть переменная count_theards; которая отвечает за кол-во запущенных потоков. монитор запускает 50 потоков, и када какой нить поток завершают свою работу то монитор запускает новый поток и так все. вроде ничего, но столкнулся с проблемой что иногда потоки завершают свою работу так и не выдав мне данные, хотя они есть! значит происходит какой-то сбой...чтоли...пока не пойму в чем дело. |
Автор: dumb 25.4.2008, 00:49 | ||||
![]() |
Автор: AlexeyShestchenko 25.4.2008, 02:00 |
какие ошибки? поиск приметивен posex |
Автор: dumb 25.4.2008, 02:15 |
http://forum.vingrad.ru/act-Help/CODE-01/HID-17.html скорее всего при передаче результата работы из потока. |
Автор: AlexeyShestchenko 25.4.2008, 10:29 | ||
|
Автор: AlexeyShestchenko 26.4.2008, 00:03 |
неужели нечем помочь, коллеги? |
Автор: MetalFan 26.4.2008, 18:38 |
и что, ты ждешь телепатов, чтоб тебе что-то сказали по твоему "огрызку" кода? что за Get? что за S, key, list? |