В проекте Windows Forms у меня есть форма, которая запускает некоторую задачу при нажатии кнопки следующим образом:
private void button_Click(object sender, EventArgs e)
{
new Task(() => { DoSomeCalculations(); }).Start();
}
Предположим, что пользователь закрыл эту форму раньше завершения задачи. Должен ли я как-то убить незавершенную задачу или она закончится автоматически? Будет ли ошибка приложения в этом случае или smth, как это?
Заранее спасибо.
Если вы хотите отменить задачи при закрытии формы, вам следует добавить поддержку маркера отмены и отмену запроса на вызов для каждой задачи. Если форма является основной формой, вам ничего не нужно делать - закрытие потока пользовательского интерфейса закроет задачи. Если задачи связаны только с закрытой формой - тогда да, вы должны отменить все из них.