Каков самый быстрый способ загрузить источник веб-страницы в компонент напоминания? Я использую компоненты Indy и HttpCli.Как скачать быстрее?
Проблема в том, что у меня есть список, заполненный более чем 100 сайтами, моя программа загружает источник в памятку и анализирует этот источник для mp3-файлов. Это что-то вроде программы поиска музыки Google; он использует запросы Google, чтобы упростить поиск в Google.
Я начал читать о потоках, которые приводят к моему вопросу: могу ли я создать экземпляр IdHttp в потоке с функцией синтаксического анализа и рассказать ему разобрать половину сайтов в списке?
Так в основном, когда пользователь нажимает разобрать, основной поток должен сделать:
for i := 0 to listbox1.items.count div 2 do
get and parse
, а другой поток должен сделать:
for i := form1.listbox1.items.count div 2 to form1.listbox1.items.count - 1 do
get and parse.
, так что они будут добавлять разобранное содержание в form1.listbox2
в в то же время. Или, может быть, проще запустить два экземпляра IdHttp в основном потоке; один для первой половины сайтов и другой для второго?
Для этого: следует ли использовать Indy или Synapse?
Я бы посоветовал вам прочитать документацию о том, что делает Synchronize, и заставить каждый поток запрашивать один (и только один) URL-адрес при его запуске и каждый раз после этого обрабатывает один URL-адрес. Если веб-сайты используют XHTML, я бы также проверил метод DOMDocument.load MSXML2_TLB, чтобы проверить, работает ли загрузка и синтаксический анализ. –