Таймаут (не не простой...)

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Таймаут (не не простой...)

Сообщение Ramzes » 17.04.2006 (Пн) 16:06

Вообщем работает некий алгоритм по поиску файлов и чтения из них инфы (его код абсолютно не важен), если файлов очень много (4000-5000) то соотетственно алгоритм работает долго...при этом после 60 секунд работы студия выдает exception что мол завис процесс, правда если нажать "продолжать", то она продолжает нисмотря ни на что...как с эти бороться?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.04.2006 (Пн) 16:16

А делай перерыв в работе алгоритма каждые 59 секунд на секунду.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 17.04.2006 (Пн) 16:22

Amed
это не совсем то, что мне надо, так, как зарание не известно в каком месте работает программа - это раз, плюс время придется щитать...может есть еще варианты ?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.04.2006 (Пн) 16:26

Грамотнее, еще грамотнее! :)

Уже ничего не понятно, поясни. Алгоритм твой?

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 17.04.2006 (Пн) 16:35

Прочитал файл из папки (делается это DirectoryInfo.GetFiles() рекурсивно) прочитал файл, отправил на обработку, читаю след файл.
Во время обработки, читаю из него некоторые данные, и показываю их в листвьюве текстбоксах (это не важно где). Вообщем паузу делать нехочу, итак прога долго работает, а еще и пауза :(

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.04.2006 (Пн) 16:38

Так не обязательно паузу на секунду. Надо только чтобы процесс сообщения в очереди обработал - воткни через каждые 1000 файлов паузу на четверть секунды. Или DoEvents.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 17.04.2006 (Пн) 16:40

Если больше вариантов нет, придется самому копать...если не получится так и сделаю, просто думал, может было у кого

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 17.04.2006 (Пн) 18:00

Попробуй Release собрать и запустить как отдельный процесс (без дебагера). Может там не будет вылетать?

Vinechka
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 381
Зарегистрирован: 10.05.2005 (Вт) 4:07
Откуда: Москва

Сообщение Vinechka » 17.04.2006 (Пн) 21:20

Мне кажется, или такие вещи в отдельном потоке запускать надо? Во всяком случае я в параллельном потоке из сети данные выдергиваю и при проверке всего этого через момед никаких проблем небыло - сидит и ждет. Хотя по времени вплоть до примерно 5 минут было... ИМХО самый красивый метод. Иначе нам зачем дали многопотоковость? :roll: :wink:

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 18.04.2006 (Вт) 9:50

Vinechka
Они в потоке и выполняются, правджа данные там бегают из одного потока в другой из другого в третий...


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 86

    TopList