![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| andrey_pro |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.9.2007 Репутация: нет Всего: нет |
Вот код для закачки страницы из инета.
В нем выбрасывается исключение если есть проблема с закачкой. Но дело в том что у меня очень много потоков которые используют этот код (скачивают страницу) И так как при бросании исключения процессор нагружается, то при работе большого количества потоков процессор занет на 100%. Как нибудь можно запретить генерирование исключения, чтоб просто вышло из блока try?
|
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
нет, исключения будут кидаться если урл не один и тот же всегда, то можно добавлять "плохие" в чёрный список (навсегда или временно) ещё есть подозрение, что проблема не только в исключениях, натрави все потоки на один гарантированно хороший урл пс. заверни всё, что IDisposable, в using |
|||
|
||||
| andrey_pro |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.9.2007 Репутация: нет Всего: нет |
а других вариантов нету?
как всеже запретить выбрасывать исключения, чтоб выходило "по тихому"? |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
||||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 4 Всего: 56 |
Скорее всего ты используешь обычные экземпляры Thread... след. при выпадании по исключению, поток завершается(если других действий в потоке нет), а это весьма ресурсоёмкая операция. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| andrey_pro |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.9.2007 Репутация: нет Всего: нет |
Да, я использовал Thread. При большом количестве поток съедало много памяти.
Сейчас я перешел на HttpWebRequest.BeginGetResponse. Этот способ менее затратный. Вобщем проблема решилась. |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 4 Всего: 56 |
Я что-то так и не понял, чем тебя пул потоков не устроил? хотя дело твоё, асинхронные методы тоже неявно используют пул...
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |