|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.04.2013, 19:57 | #1 |
Пользователь
Регистрация: 06.03.2011
Сообщений: 31
|
Проблема с потоками (парсинг всех ссылок сайта)
Доброго времени суток дорогие форумчане!
Делаю программу для сбора всех ссылок с сайта. Есть список ссылок для обработки и N-ое количество потоков, а так же критическая секция(КС). При выходе из КС у потока есть номер строки(CurLnk) которую нужно обрабатывать. Изначально в списке одна ссылка, соответственно её обрабатывает поток получивший CurLnk:=0, т.е. самый первый поток. Пока поток не обработал эту самую ссылку список пуст (*После обработки в список добавляются новые ссылки полученные с обработанной ранее ссылки) и для остальных потоков попросту нет данных для обработки, но свой номер строки они получают, а это чревато пропуском количеству ссылок равному количеству потоков с пустым значением. Как можно В ПОТОКЕ подождать входных данных, т.е. чтобы например у второго потока (с CurLnk:=1) пустая строка получила ссылку после того как появятся ссылки необработанные в первом потоке. Код:
Код:
Код:
|
16.04.2013, 21:00 | #2 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
это пять !
|
16.04.2013, 21:37 | #3 |
Пользователь
Регистрация: 06.03.2011
Сообщений: 31
|
Предложите другой вариант реализации парсинга в потоке?
Строка ниже только для того что-бы не забивать список ошибок пустыми строками: Код:
|
16.04.2013, 21:42 | #4 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
при чем тут парсинг, тут до парсинга еще далеко, тут надо начинать с вопроса а зачем и для чего нужны потоки?
|
16.04.2013, 21:46 | #5 |
Пользователь
Регистрация: 06.03.2011
Сообщений: 31
|
|
16.04.2013, 22:01 | #6 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
Цитата:
|
||
16.04.2013, 22:07 | #7 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
вопрос не в том что автор хочет сделать, а в том что он не понимает что делает Последний раз редактировалось eval; 16.04.2013 в 22:09. |
|
16.04.2013, 22:35 | #8 |
Пользователь
Регистрация: 06.03.2011
Сообщений: 31
|
Как уже заметил многоуважаемый eval, который не поленился посмотреть "код", Я их использую.
Как я понимаю, то что я написал: 1) Создаём потоки. Кол-во указываем в Edit1.Text 2) Каждый поток берет адрес из списка 3) Загоняем в Page код страницы (если нет ошибки) 4) Регулярными выражениями вытягиваем со страницы ссылки 5) Добавляем ссылки в конец списка 6) переходим к пункту 2... |
16.04.2013, 23:21 | #9 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
|
|
17.04.2013, 12:35 | #10 |
Пользователь
Регистрация: 06.03.2011
Сообщений: 31
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
парсинг ссылок сайта | Jadson | Работа с сетью в Delphi | 19 | 13.05.2012 22:02 |
Поиск всех внешних ссылок с сайта | asale | PHP | 2 | 24.04.2012 22:56 |
Парсинг ссылок сайта | demiancz | Общие вопросы Delphi | 9 | 27.02.2012 01:00 |
Парсинг ссылок | cashmail | PHP | 1 | 01.07.2011 16:39 |
Возможно ли узнать количество всех внешних ссылок сайта? | Dux | Работа с сетью в Delphi | 1 | 14.03.2011 17:46 |