Потоки делятся на:
•
background (фоновый)
•
foreground (на переднем плане).
Основное отличие между ними в том, что
foreground потоки препятствуют завершению программы.
Если закрывается приложение, то
background поток автоматически закрывается (даже не выполнившись до конца).
Как только все
foreground-потоки остановлены, система автоматически остановит все
background и завершит выполнение приложения.
Как определить это фновый поток или нет?
Чтобы определить, является поток фоновым или нет, необходимо вызвать следующее свойство текущего потока:
Thread.CurrentThread.IsBackground
Как создать background (фоновый) поток?
При использовании пула потоков мы получим
background поток
Как создать foreground (на переднем плане) поток?
При создании потока при помощи класса
Thread по умолчнию мы получим
foreground поток