![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| gogzor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 21.9.2006 Репутация: нет Всего: нет |
Всем привет.
У меня есть программа в которой используется класс ThreadPool , в нём работает масса потоков. Возможно ли както остановить потоки внутри ThreadPool? Потому что базовых методов я не нашёл.. Делать Thread.CurrentThread.Abort() для текущего потока тоже не получается... Как можно остановить всё это дело? |
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Я так понимаю они и не должны останавливаться. Это же пул - они всегда должны быть открыты. Попробуй просто выйти из логики, внутри потока
-------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| gogzor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 21.9.2006 Репутация: нет Всего: нет |
||||
|
||||
| archeg |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Ну типа что-то в потоке:
Тут бах - основной поток поставил needToWork = false, остановились. И про потокобезопасность не забываем.... З.Ы. Вообще проверил - у меня Abort() работает - так что можно и его попробовать. Почему у вас не работает - не знаю. Че пишет? Правда не знаю как пул ведет себя при аборте - надеюсь не уничтожает поток (тогда толку с пула?) Если не нравиться то что поток должен уничтожать сам себя - можно хранить ссылки на все потоки (к примеру при старте потока, он подписуеться, передавая екземпляр Thread.CurrentThread в основной поток по-скольку Queue не возвращает екземпляр потока) - потом можно управлять потоками с помощью списка ссылок Добавлено @ 21:11 Да, абортить плохо. Вот тут решение: http://msdn.microsoft.com/en-us/magazine/cc163644.aspx Это сообщение отредактировал(а) archeg - 1.11.2008, 21:12 -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |