![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Pcrepair |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Добрый день.
Есть функция вида function LoadPage(const Url:string):string; для закачки страниц на базе idHHP.Get, которая обеспечивает: - закачку страниц с фреймами - закачку страниц по HTTPs - смену Request.UserAgent (доп. функция) по Random из списка агентов - подавление исключений в коде idHHP.Get с записью в лог причин - вывод сообщений о утечке памяти при закрытии Арр Сама по себе функция работает нормально, загружает все страницы и без утечки памяти. Есть код запуска этой функции в многопоточном режиме:
Результат: В режиме отладки видно что возникает множество самых различных ошибок: - First chance exception at $00407466. Exception class $C0000005 with message 'access violation at 0x00407466: read of address 0x000000a4'. Process Loader_VER06.exe (2012) - First chance exception at $7C812AFB. Exception class EIdHTTPProtocolException with message 'Set-Cookie: dle_password=deleted; expires=Tue, 27-Dec-2011 20:37:50 GMT; path=/; domain=.freeseller.ru; httponly'. Process Loader_VER06.exe (2012) First chance exception at $00629F8C. Exception class $C0000005 with message 'access violation at 0x00629f8c: read of address 0x00000148'. Process Loader_VER06.exe (2012) - First chance exception at $7C812AFB. Exception class EOSError with message 'System Error. Code: 123. Синтаксическая ошибка в имени файла, имени папки или метке тома'. Process Loader_VER06.exe (2012) - First chance exception at $7C812AFB. Exception class EIdNotASocket with message 'Socket Error # 10038 Socket operation on non-socket.'. Process Loader_VER06.exe (2012) В рабочем режиме, за счет подавления исключений, все это конечно не вылазит, но: - закачиваются не все страницы(хотя все УРЛ валидные и функцией закачки закачиваются без вопросов) - после закрытия Арр выводится сообщение о многочисленных маленьких утечках памяти По теории потоки не должны пересекаться. каждый имеет свою память. вывод результата через КС. такое впечетление что потоки как то мешают друг другу Внимание!!! Вопрос: в чем может быть причина появления исключений и утечки памяти именно в режиме многопотоковой закачки? --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Вижу работа со списком gStore синхронизируется между потоками. Синхронизируется ли работа между главным потоком и любым из дополнительных касательно доступа к общей памяти объекта gStore ?
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Pcrepair |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
это в смысле что доступ к примеру к gStore.Index или gStore.Text тоже должен быть через CS? пока нет, но это стенд, содержимое STORE просматривается после окончания работы всех потоков. все текущие проблемы возникают в момент загрузки страниц может свой класс правильней написать? с использованием внутри этого класса потоков. создавать потомок класса, передавать ему значение(УРЛ) + написать класс НАКОПИТЕЛЬ в который передавать асинхронно результат работы с ООП знаком пока только теоретически --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |