Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > Постоянные тормоза |
Автор: Dobermann 14.2.2010, 11:15 | ||
Насколько я начинаю понимать, без потоков такая прога "отвиснет" только после полной отработки (т.е. когда закончится список проксей)
|
Автор: Экскалупатор 14.2.2010, 16:50 |
да. без потоков никак.![]() ИМХО методы конечно жесткие... с какой целью был создан метод Proxy вообще не понятно. точнее, для чего, понятно, что бы отделить и не писать все в обработчике(или я не прав?) вот только лучше от этого не стало... |
Автор: Dobermann 15.2.2010, 17:33 |
перед вызовом этого метода потоки реализовывались, просто вырезал, думал мож ты че дельного предложешь, а не ... |
Автор: Экскалупатор 15.2.2010, 18:21 |
Dobermann, без использования других потоков, все будет выполняться в одном потоке, и соответственно пока твой метод по проверке не закончиться, то остальная прога будет его ждать, т.е. "висеть". так что ничего "дельнее" чем использовать потоки предложить сложно. можно может разделить, т.е. сделать другую прогу, которая будет проверять то что тебе нужно, а ты в этой проге будешь просматривать результаты, но это изврат полный. так что остаются потоки... лично я больше ничего предложить не могу. Добавлено через 3 минуты и 5 секунд а для чего проверять доступность всех Proxy? ты ж одновременно со всеми все равно не будешь. может проще проверить конкретный адрес и, если он доступен, то обратиться к нему, а если не доступен перейти к следующему, пока не найдется рабочий. это будет быстрее нежели ждать пока провериться весь список. хотя я не знаю специфики приложения, а по сему могу и ошибаться... Добавлено через 8 минут и 55 секунд к тому же тебе наверняка придется делать проверку этого прокси перед использованием... |
Автор: Dobermann 16.2.2010, 04:31 |
Да это просто пример зависания проги(без потоков)...а проверять все - какие сдохли а какие нет, ведь те что сдохли предпочтительней будет удалить из списка... |
Автор: Экскалупатор 16.2.2010, 12:02 |
я ж и говорю, что если проверять конкретный адрес перед самым его использованием, то это будет быстрее нежели проверять все сразу. и тогда, может быть, можно было бы обойтись без потоков(хотя и сомнительно это). |
Автор: GavriKos 17.2.2010, 16:39 |
Есть еще вариант, без реализации потоков в лоб. Реализовать все таймером. Т.е. чтобы по очередной итерации цикла запускался таймер и цикл ждал его завершения. Но это неспортивно ) |