![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.03.2011
Сообщений: 31
|
![]()
Доброго времени суток дорогие форумчане!
Делаю программу для сбора всех ссылок с сайта. Есть список ссылок для обработки и N-ое количество потоков, а так же критическая секция(КС). При выходе из КС у потока есть номер строки(CurLnk) которую нужно обрабатывать. Изначально в списке одна ссылка, соответственно её обрабатывает поток получивший CurLnk:=0, т.е. самый первый поток. Пока поток не обработал эту самую ссылку список пуст (*После обработки в список добавляются новые ссылки полученные с обработанной ранее ссылки) и для остальных потоков попросту нет данных для обработки, но свой номер строки они получают, а это чревато пропуском количеству ссылок равному количеству потоков с пустым значением. Как можно В ПОТОКЕ подождать входных данных, т.е. чтобы например у второго потока (с CurLnk:=1) пустая строка получила ссылку после того как появятся ссылки необработанные в первом потоке. Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
это пять !
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 06.03.2011
Сообщений: 31
|
![]()
Предложите другой вариант реализации парсинга в потоке?
Строка ниже только для того что-бы не забивать список ошибок пустыми строками: Код:
|
![]() |
![]() |
![]() |
#4 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
при чем тут парсинг, тут до парсинга еще далеко, тут надо начинать с вопроса а зачем и для чего нужны потоки?
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 06.03.2011
Сообщений: 31
|
![]() |
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#7 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]() Цитата:
вопрос не в том что автор хочет сделать, а в том что он не понимает что делает Последний раз редактировалось eval; 16.04.2013 в 22:09. |
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 06.03.2011
Сообщений: 31
|
![]()
Как уже заметил многоуважаемый eval, который не поленился посмотреть "код", Я их использую.
Как я понимаю, то что я написал: 1) Создаём потоки. Кол-во указываем в Edit1.Text 2) Каждый поток берет адрес из списка 3) Загоняем в Page код страницы (если нет ошибки) 4) Регулярными выражениями вытягиваем со страницы ссылки 5) Добавляем ссылки в конец списка 6) переходим к пункту 2... |
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#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 |