Недавно я пытался использовать backgroundworker вместо «классических» потоков, и я понимаю, что это вызывает, по крайней мере для меня, больше проблем, чем решений. У меня есть фоновый рабочий, выполняющий синхронное чтение (в данном случае из serialPort) и блокирующийся примерно на 30 секунд в 1 строке кода, тогда ожидание отмены не является решением. Я вижу, что если приложение закрывается в этот момент (либо с помощью перекрестной кнопки, либо с помощью Application.Exit()), процесс сохраняет зомби навсегда.
Мне нужен способ принудительно прервать или убить фоновый поток.