Как сразу отменить работающий BackgroundWorker?
3983 просмотра
1 ответ
У меня есть время, затрачиваемое на DoWork
мой BackgroundWorker
.
Всякий раз, когда я пытаюсь отменить задание backgroundWorker1.CancelAsync()
, оно backgroundWorker1.CancellationPending
становится ожидающим, и я должен ждать следующей итерации, DoWork
чтобы отменить задание и выйти из него самому.
Есть ли способ отменить задание сразу после его вызова?
Автор: mammadalius Источник Размещён: 12.11.2019 09:20Ответы (1)
7 плюса
Нет. Как правило, вы не можете безопасно прекратить поток «немедленно», потому что он может содержать ресурсы, которые могут утечь, и, что более важно, он может содержать блокировки. Вы должны структурировать своего работника так, чтобы он соблюдал флаг отмены и как можно быстрее выходил.
Автор: Derek Park Размещён: 09.02.2012 06:13Вопросы из категории :
- c# Преобразовать десятичную в двойную?
- c# Как рассчитать чей-то возраст в C #?
- c# Как вы сортируете словарь по значению?
- c# В чем разница между int и Integer в Java и C #?
- c# Как создать новый экземпляр объекта из Типа
- c# Datatable против Dataset
- c# Setting Objects to Null/Nothing after use in .NET
- c# Конвертировать целые числа в записанные числа
- c# Почему я не могу иметь абстрактные статические методы в C #?
- c# Как я могу оценить код C # динамически?
- backgroundworker Как ждать отмены BackgroundWorker?
- backgroundworker Служба Windows, которая запускается периодически
- backgroundworker File.Exists () возвращает false, но не в отладке
- backgroundworker Отмена фоновых задач
- backgroundworker BackgroundWorker RunWorkerCompleted Event
- backgroundworker Convert.ToInt32 (float) завершается неудачно при попытке конвертировать float в Int32
- backgroundworker Медленно, чтобы установить DataGridView DataSource в DataTable в C #
- backgroundworker How to stop BackgroundWorker correctly
- backgroundworker Совместное использование объектов между BackgroundWorker и основным потоком
- backgroundworker Как отправить больше аргументов в C # backgroundworker прогрессирует измененное событие