Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> разный Synchronize(Sync) для TThread, парсим много idHTTP потоков 
:(
    Опции темы
creas0ft
Дата 28.1.2007, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: 2
Всего: 2



Есть идея у потока сделать tagID и на этой основе работать.
Насколько верен подход?!
Есть ли еще красивые решения?!
То есть имеем N потоков idHTTP, но у каждого свой функционал....
--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 28.1.2007, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



так где вопрос?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
creas0ft
Дата 28.1.2007, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: 2
Всего: 2



сабж + сам пост = вопрос
--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 28.1.2007, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Цитата(creas0ft @  28.1.2007,  18:21 Найти цитируемый пост)
Есть идея у потока сделать tagID и на этой основе работать.

это вопрос?
Цитата(creas0ft @  28.1.2007,  18:21 Найти цитируемый пост)
То есть имеем N потоков idHTTP, но у каждого свой функционал.... 

это?
Цитата(creas0ft @  28.1.2007,  18:21 Найти цитируемый пост)
Насколько верен подход?!
Есть ли еще красивые решения?!

или это?
Цитата

разный Synchronize(Sync) для TThread, парсим много idHTTP потоков 

или это?
имхо здесь утверждения и констатация факта , что тебе не понятно , перефразируй вопрос плз


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
creas0ft
Дата 28.1.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: 2
Всего: 2



Romikgy

Цитата(creas0ft @  28.1.2007,  18:21 Найти цитируемый пост)
Насколько верен подход?!
Есть ли еще красивые решения?!

вот это вопросы
--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 28.1.2007, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Цитата(Romikgy @  28.1.2007,  19:48 Найти цитируемый пост)
перефразируй вопрос плз

есть разные решения, вот вопрос мне не понятен, че те не понятно то? как зделать многопоточность? или как юзать синхронизацию без классов дельфи?



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
creas0ft
Дата 28.1.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: 2
Всего: 2



То есть имеем N потоков idHTTP, но у каждого свой функционал.... 
я не знаю как грамотно реализовать разные обработчики у потоков.

--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 28.1.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Цитата(creas0ft @  28.1.2007,  20:21 Найти цитируемый пост)
разные обработчики у потоков

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

Это сообщение отредактировал(а) Romikgy - 28.1.2007, 22:07


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
creas0ft
Дата 28.1.2007, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: 2
Всего: 2



Код

unit IndyThreadSample;
interface
uses Classes, IdHTTP;
type
  TGrabThread = class(TThread)
  protected
    procedure Execute; override;
  public
    http: TIdHTTP;
    url: string;
    html: string;
    procedure Sync;
    constructor Create(Suspended: boolean);
    thID : Integer;
  end;
implementation

procedure Start; // процедура в которой запускаем тред
begin
while i<=memo2.Lines.Count do
begin
with TGrabThread.Create(true) do // создаём тред
  begin
  while thrCount>MaxThreads do Application.ProcessMessages;
    url:=Memo2.Lines[i];
    inc(i);
    FreeOnTerminate := true;
    OnTerminate := ThreadDone;
    thID:= //тут даем номер в зависимости от условий что потом нам с потоком делать
    inc( thrCount );
    Resume; // запускаем тред
  end;
 end;

end;
constructor TGetThread.Create(Suspended: boolean);
begin
  inherited;
  http := TIdHTTP.Create(nil);
end;
procedure TGetThread.Execute;
begin
  html := '';
  try // в треде делаем запрос к нашему урлу
    html := http.Get(url);
  finally
    http.Free;
  end;
    Synchronize(Sync); // возвращаем результат в главный тред
end;
procedure TGetThread.Sync;
begin
  case thID of
// тут делаем вызов разных процедур обработчиков потоков.
end;
end.


Какой то поток должне найти ссылки на странице.
Кто то определенный текст.

Это сообщение отредактировал(а) creas0ft - 28.1.2007, 22:43
--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 28.1.2007, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Если я правильно понял , что те нужно , то это не так рашается (хотя все равно смутно понятно)
Цитата(creas0ft @  28.1.2007,  21:17 Найти цитируемый пост)
Какой то процесс должне найти ссылки на странице.
Кто то определенный текст.

может всетаки поток?
тогда надо создать разные потоки для разных обработок или все в одном сделать: забор страницы, обработка ссылок, и текста, 
по очереди
Цитата(creas0ft @  28.1.2007,  21:17 Найти цитируемый пост)
 while thrCount>MaxThreads do Application.ProcessMessages;

и это я бы вынес до создания потока


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
creas0ft
Дата 28.1.2007, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: 2
Всего: 2



из этого следует что решение у меня есть.
Я спрашиваю грамотно оно или нет и есть ли еще изящные решения?!
--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 28.1.2007, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Цитата(creas0ft @  28.1.2007,  21:45 Найти цитируемый пост)
Я спрашиваю грамотно оно или нет и есть ли еще изящные решения?! 

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


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1279 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.