Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 27.09.2015
Сообщений: 68
.NET 4.x

Не получается остановить поток

01.10.2015, 19:29. Показов 981. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно сабж.
Использую библиотеку от Viking.
Пробую останавливать так -
C#
1
if (manager != null && manager.IsRunning) manager.Abort("Остановили потоки", true);
и так
C#
1
manager.Abort("Остановили потоки", true);
Ничего не выходит.
Главное, что если из самого потока останавливать командой
C#
1
if (manager != null && manager.IsRunning) manager.Abort("Остановили потоки", true);
, то всё работает, а если с кнопки, то нет.
Как можно решить эту проблему ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.10.2015, 19:29
Ответы с готовыми решениями:

Остановить поток
Всем привет. Допустим я создаю поток: void doge_start_thread() { CancellationTokenSource...

Как остановить поток?
Как остановить поток: Thread t = new Thread(NewThread); t.Start(); static void NewThread() { ...

Как остановить поток?
Я видел подобную тему но применить это к своей программе я не сумел. У меня есть класс клиент и несколько методов, один из методов...

5
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
01.10.2015, 19:33
Цитата Сообщение от hirefire Посмотреть сообщение
Использую библиотеку от Viking.
А что за библиотека такая и для чего? И зачем для простой работы с потоками ее использовать, не хватает встроенных средств NET?
0
0 / 0 / 0
Регистрация: 27.09.2015
Сообщений: 68
01.10.2015, 19:36  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
А что за библиотека такая и для чего? И зачем для простой работы с потоками ее использовать, не хватает встроенных средств NET?
Библиотека Viking Engine.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
01.10.2015, 19:42
Цитата Сообщение от hirefire Посмотреть сообщение
Библиотека Viking Engine.
Вы об этом?
Основные функции
Основной класс Job состоит из нескольких функций (для использования их нужно перегрузить):

StartWork
DoWork
FinishWork
Вот что происходит при нажатии кнопки старт:

Создается новый инстанс класса Job
Инициализируются все поля
Выполняется конструктор класса (нам он не понадобится)
Выполняется функция StartJob
Запускается цикл, который бесконечно создает потоки (сколько задано пользователем) и выполняет на них функцию DoWork, до тех пор, пока не будет вызвана функция StopJob или юзер нажмет на стоп. Кнопка HardStop в интерфейсе вызывает Thread.Abort на всех потоках
После этого новые потоки не запускаются и фреймворк ждет, когда старые закончат выполняться
После этого вызывается функция FinishWork, в которой можно обработать и сохранить результат работы. Она будет вызвана даже если пользователь отменил выполнение задания
На счет остановки одного потока там ничего не сказано, но их можно остановить все сразу.
0
0 / 0 / 0
Регистрация: 27.09.2015
Сообщений: 68
01.10.2015, 19:50  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
На счет остановки одного потока там ничего не сказано, но их можно остановить все сразу.
Как их остановить все сразу ?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
01.10.2015, 19:59
Цитата Сообщение от insite2012 Посмотреть сообщение
Кнопка HardStop в интерфейсе вызывает Thread.Abort на всех потоках
Вы инструкцию читали или сразу взялись кодить?)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.10.2015, 19:59
Помогаю со студенческими работами здесь

Остановить поток и отладку стороннего процесса
Получается так что при выключении стороннего процесса, моя программа почему то продолжает использовать dll файлы этого самого стороннего...

Как остановить поток из другой кнопки?
private void buttonpause_Click(object sender, EventArgs e) { mainLabel.Text = "Работа алгоритма приостановлена....

Как остановить поток при закрытии программы
Добрый день private void Form1_Load(object sender, EventArgs e) { Thread t = new Thread(WriteY); ...

Как остановить поток, после выполнения метода?
Есть метод, который выполняется в отдельном потоке: void kks() { int ttk = 0; for(int i = 0; i < 80;i++) { ttk...

Остановить поток при успешном соединении TcpClient
Есть метод: public void connect() { try { TcpClient eClient = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru