你的位置:首页 > ASP.net教程

[ASP.net教程]C# 前台线程和后台线程


进程会等待所有的前台线程完成后在结束工作,但是如果只剩下后台线程,则会直接结束工作

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Threading;using System.Diagnostics;namespace testThread{class Program{static void Main(string[] args){var sampleForegroud = new ThreadSample(10);var sampleBackgroud = new ThreadSample(20);var threadone = new Thread(sampleForegroud.CountNumbers);threadone.Name = "ForegroudThread";var threadtwo = new Thread(sampleBackgroud.CountNumbers);threadtwo.Name = "BackgroudThread";threadtwo.IsBackground = true;threadone.Start();threadtwo.Start();}}class ThreadSample{private readonly int _iterations;public ThreadSample(int iterations){_iterations = iterations;}public void CountNumbers(){for (int i = 0; i < _iterations; i++){Thread.Sleep(TimeSpan.FromSeconds(0.5));Console.WriteLine("{0} Print {1}", Thread.CurrentThread.Name, i);}}}}

View Code