Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C/C++ только в данном разделе

Ответ
 
Опции темы
Старый 30.07.2011, 23:38   #1
Заблокирован
 Пехотинец
Аватар для fesssi
 
fesssi скоро будет известенfesssi скоро будет известенfesssi скоро будет известенfesssi скоро будет известенfesssi скоро будет известен
Регистрация: 14.11.2009
Сообщений: 64
Популярность: 425
Сказал(а) спасибо: 35
Поблагодарили 134 раз(а) в 56 сообщениях
Отправить сообщение для fesssi с помощью ICQ Отправить сообщение для fesssi с помощью Skype™
 
По умолчанию Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

Народ если я отдельно запустил поток в фоновом режиме. Где он работает. КАК ЕГО остановить принудительно!!!!!!!?????????????

Вот пример запуска:
Thread potok = new Thread(start_start);
potok.Start();

И он в в этом методе пашет в реальном времени.
Как его остановить????

Сразу говорю тупо АБОРТОМ нельзя.
Особенно если в это время он ожидает ответа от сервера....

Пожалуйста ваши варианты......
  Ответить с цитированием
Старый 30.07.2011, 23:52   #2
NoItemName
 Рыцарь
Аватар для J-Fobos
 
J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(
Регистрация: 12.04.2009
Сообщений: 394
Популярность: 47903
Сказал(а) спасибо: 515
Поблагодарили 1,124 раз(а) в 430 сообщениях
 
По умолчанию Re: Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

Функция TerminateThread. Только надо помнить, что для локальных объектов не будут вызваны деструкторы. Лучше всего, когда поток завершается сам.

И как это "поток в фоновом режиме"? Впервые сталкиваюсь с таким
________________

В любом из нас спит гений. И с каждым днем все крепче.
Запомните раз и навсегда:= 'Помочь' <> 'Сделайте за меня';
  Ответить с цитированием
Пользователь сказал cпасибо:
fesssi (12.08.2011)
Старый 31.07.2011, 00:29   #3
Проверенный продавец
 Разведчик
Аватар для MCseller
 
MCseller на правильном путиMCseller на правильном пути
Регистрация: 13.07.2011
Сообщений: 6
Популярность: 156
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
Отправить сообщение для MCseller с помощью ICQ
 
По умолчанию Re: Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

Цитата:
Сообщение от J-FobosПосмотреть сообщение
Функция TerminateThread. Только надо помнить, что для локальных объектов не будут вызваны деструкторы. Лучше всего, когда поток завершается сам.

И как это "поток в фоновом режиме"? Впервые сталкиваюсь с таким

Скорее всего это элемент backgroundWorker в Visual Studio.
  Ответить с цитированием
Пользователь сказал cпасибо:
fesssi (12.08.2011)
Старый 31.07.2011, 03:24   #4
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

Цитата:
Сообщение от MCsellerПосмотреть сообщение
Скорее всего это элемент backgroundWorker в Visual Studio.

при чем тут воркер?-если написали фоновый поток?
вообще то в C# хорошо развита многопоточность, а воркер-это так детская игрушка

юзай WaitHandle
или еще проще так:

Код:
private void button1_Click(object sender, EventArgs e)
        {
            StopThread();
        }
private void StopThread()
{
    thread.Abort();//прерываем поток
    thread.Join(500);//таймаут на завершение
}

Последний раз редактировалось Hermein; 31.07.2011 в 03:48.
  Ответить с цитированием
Пользователь сказал cпасибо:
fesssi (31.07.2011)
Старый 31.07.2011, 12:55   #5
Проверенный продавец
 Разведчик
Аватар для MCseller
 
MCseller на правильном путиMCseller на правильном пути
Регистрация: 13.07.2011
Сообщений: 6
Популярность: 156
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
Отправить сообщение для MCseller с помощью ICQ
 
По умолчанию Re: Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

Цитата:
Сообщение от HermeinПосмотреть сообщение
при чем тут воркер?-если написали фоновый поток?
вообще то в C# хорошо развита многопоточность, а воркер-это так детская игрушка

юзай WaitHandle
или еще проще так:

Код:
private void button1_Click(object sender, EventArgs e)
        {
            StopThread();
        }
private void StopThread()
{
    thread.Abort();//прерываем поток
    thread.Join(500);//таймаут на завершение
}

Воркер выполняет работу в отдельном потоке, при использовании воркера даже Exception выпадает, когда из него мы пытаемся сделать что либо что делается в другом потоке(например махинации с GUI), не ?
  Ответить с цитированием
Пользователь сказал cпасибо:
fesssi (12.08.2011)
Старый 31.07.2011, 19:01   #6
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

Хорош ерунду писать если не понимаете о чем речь!

1) Читаем внимательно пост 1 - где вы увидели воркер? ТС даже пример кода дал на запуск 1 фонового потока!
2) Что конкретно написано?-приостановить или прервать???
  Ответить с цитированием
Пользователь сказал cпасибо:
fesssi (12.08.2011)
Старый 12.08.2011, 16:00   #7
Заблокирован
 Пехотинец
Аватар для fesssi
 
fesssi скоро будет известенfesssi скоро будет известенfesssi скоро будет известенfesssi скоро будет известенfesssi скоро будет известен
Регистрация: 14.11.2009
Сообщений: 64
Популярность: 425
Сказал(а) спасибо: 35
Поблагодарили 134 раз(а) в 56 сообщениях
Отправить сообщение для fesssi с помощью ICQ Отправить сообщение для fesssi с помощью Skype™
 
По умолчанию Re: Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

Народ сори что возвращаюсь к вопросу...
Всем спасибо за ответы. Только с моря приехал....
Вот в чом проблема если поточней.
Например запускается 25 потоков где идут пост запросы через прокси. Если прокси гуд то запрос проходит и поток берет другой логин:пароль.
Но если прокси дохлая то поток висит на открытом порте в винде где то 5 минут. И прервать его тупо АБОРТОМ нельзя. Он там остается а потом уже по тайм ауту завершается.


Вопрос в том как его гада там убить...????????

Выход нашел только один.. НЕТ ответа по тайм ауту заранее установленном сразу считать ошибкой и пропускать...
  Ответить с цитированием
Старый 12.08.2011, 17:38   #8
 Старший сержант
Аватар для .AsTex.
 
.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания.AsTex. блестящий пример для подражания
Регистрация: 17.04.2010
Сообщений: 200
Популярность: 1972
Сказал(а) спасибо: 95
Поблагодарили 271 раз(а) в 105 сообщениях
 
По умолчанию Re: Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

А теперь пару поправлений: данный код - не фоновый поток,потому-что если вы закроете программу а у работа потока еще не будет окончена,то у вас будет висеть процесс.
Чтобы этого избежать вот:

Thread potok = new Thread(start_start);
potok.IsBackground = true;//на WinForms может отличаться(пишу на WPF)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
fesssi (12.08.2011), Gamer1912 (26.12.2011)
Старый 12.08.2011, 20:56   #9
Заблокирован
 Пехотинец
Аватар для fesssi
 
fesssi скоро будет известенfesssi скоро будет известенfesssi скоро будет известенfesssi скоро будет известенfesssi скоро будет известен
Регистрация: 14.11.2009
Сообщений: 64
Популярность: 425
Сказал(а) спасибо: 35
Поблагодарили 134 раз(а) в 56 сообщениях
Отправить сообщение для fesssi с помощью ICQ Отправить сообщение для fesssi с помощью Skype™
 
По умолчанию Re: Thread ---- КАК ПРЕРВАТЬ В ФОНЕ?????

Цитата:
Сообщение от anderwhatПосмотреть сообщение
А теперь пару поправлений: данный код - не фоновый поток,потому-что если вы закроете программу а у работа потока еще не будет окончена,то у вас будет висеть процесс.
Чтобы этого избежать вот:

Thread potok = new Thread(start_start);
potok.IsBackground = true;//на WinForms может отличаться(пишу на WPF)

Спасибо большое. Вопрос считаю закрытым....

Всем тоже огромное спасибо.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Куплю] ФУЛ ГАЛ НА СЕРВЕРЕ РУ 6 В ТОПЕ 100 OCHEROVAN Dark Orbit 6 22.06.2011 11:22
[Баг] Дыра в 3 томе хх Mag-i-str Баги и читы Perfect World 6 03.06.2011 08:01

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 06:58.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net