список работающих потоков

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

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

Свиридов С
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 28.09.2008 (Вс) 7:29

список работающих потоков

Сообщение Свиридов С » 16.10.2008 (Чт) 23:19

Подскажите как можно програмно получить информацию о работающих потоках (внутри той же программы) и при необходимости остановить их все ?
Это мне надо для "аварийного" завершения программы, что бы процессы не оставались висеть.

p.s: Sebas пожалуйсто не бесись ;) , не все же владеют программированием на таком уровне как ты, но мы к этому стремимся ;)

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: список работающих потоков

Сообщение Williams » 16.10.2008 (Чт) 23:25

Так делать не стоит.. Лучше иметь флаг остановки в программе, который потоки переодически проверяют и при необходимости выходят.
И вы думаете, что вас оставят в живых после прочтения этого поста?

Свиридов С
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 28.09.2008 (Вс) 7:29

Re: список работающих потоков

Сообщение Свиридов С » 16.10.2008 (Чт) 23:35

Williams не спится ? :)
я что то мутил с флагами, не особо и получилось :( , иногда срабатывало и поток останавливался а иногда не останавливался :(
проблемма в том что я там вероятно не правильно что то делал, я не волшебник я тока учусь ... , но я думал надёжнее будет контролировать все выполняемые потоки и при необходимости их жёстко глушить.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: список работающих потоков

Сообщение Williams » 17.10.2008 (Пт) 4:55

Жестко не всегда смогут завершиться. Что именно делают потоки в твоей программе?
Если например цикл вроде
do while somevalue < 10

dosomething

end while

то можно добавить if bstop then exit sub после do while. При выходе из проги выставляешь bstop=true
И вы думаете, что вас оставят в живых после прочтения этого поста?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: список работающих потоков

Сообщение Sebas » 17.10.2008 (Пт) 9:30

Насильственное прерывание потоков не рекомендуется.

Поток лучше упаковывать в класс. в котором сделать флаг о выходе. И все классы хранить в синхронизированной коллекции.

Если нужно ТОЛЬКО для выхода, то достаточно установить свойства потока ISBackground в TRUE
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: список работающих потоков

Сообщение Williams » 18.10.2008 (Сб) 10:59

Воркер, кстати, завершается автоматически
И вы думаете, что вас оставят в живых после прочтения этого поста?

Свиридов С
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 28.09.2008 (Вс) 7:29

Re: список работающих потоков

Сообщение Свиридов С » 21.10.2008 (Вт) 7:51

спасибо всем кто ответил !

Потоки у меня запускаются из отдельных классов.
В кратце о цели программы: мне необходимо прослеживать некоторые чаты на наличие некоторых выражений и слов, я пытаюсь отлавливать входящие сообщения в чатах , анализирую их и уже в зависимости от результата выполняются дальнейшие действия. Флаги для работы потока включаются и отключаются в зависимости от полученной информации из инета и в этом то и возникают проблеммы , иногда информацию не удаётся получить :( , инет тормознул, подвис или ещё что-нибудь, и флаг у меня не изменяет значения ... запущенный процесс не останавливается и дальнейшее функционирование программы сбивается.
Кстати , именно для этого я и пытался найти подсказку как из фреймов webbrowser_а вытащить данные (чаты используются с фреймами, мне надо получить текстовые сообщения из фреймов) + заморочки с флэшем ...

p.s: как уже достала порнуха в интернете, невозможно вообще зайти в инет и не нарваться на банеры порносайтов. У меня ребёнок начинает пользоваться интернетом вот и пришлось на старости лет начать изучение программирования что бы хоть как то попытаться оградить ребёнка от этого дерьма :(

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: список работающих потоков

Сообщение Williams » 21.10.2008 (Вт) 9:28

Можно использовать, например, класс WebRequest для работы с сетью, устанавливать таймауты и обрабатывать исключения.
А чем не устраивает множество готовых решений для фильтрации нежелаемого контента?
И вы думаете, что вас оставят в живых после прочтения этого поста?


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

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

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

    TopList  
cron