Прерывание потока в VB.NET - PullRequest
0 голосов
/ 13 марта 2012

Я запускаю код в потоке при открытии книги Excel, выполнение которой занимает некоторое время.Если я пытаюсь закрыть рабочую книгу, пока поток еще выполняется, и выдает стандартную подсказку «Сохранить или отменить», мой поток прерывается (не уверен, что термин «прерванный» является технически правильным термином), когда я нажимаю «Отмена».В более общем смысле кажется, что взаимодействия / обновления пользовательского интерфейса приводят к прерыванию потока.

Есть ли способ 1) предотвратить остановку потока при обновлении пользовательского интерфейса / взаимодействии с пользователем или 2) разрешитьвозобновить поток после прерывания?

Ничего особенного в коде:

Private Shared Sub Test()
    Dim t As New Thread(AddressOf DoSomethingThatTakesAWhile)
    t.Start()
End Sub

1 Ответ

0 голосов
/ 01 апреля 2012

Я добился большого прогресса в этом, но в конечном итоге не смог заставить это работать, используя мой оригинальный подход. Итак, я переключился на .Net Framework 4.0 и использовал Задачи (пространство имен System.Threading.Tasks) для выполнения этой работы. Задачи работали красиво и интуитивно понятно и избавили от многих сложностей, связанных с управлением потоками.

...