C#進程基礎
進程:一個正在運行的程序舞吭,操作系統(tǒng)根據(jù)進程分配各種資源(內(nèi)存)
線程:操作系統(tǒng)為了提高效率會將一個進程分成多個線程止潘,并按照線程來分配CPU執(zhí)行時間媚赖。
線程特點:在具有多個CPU的計算機中,可以并行執(zhí)行
Thread類:表示托管線程站宗,每個Thread對象都代表一個托管線程滋迈,每個托管線程都對應一個函數(shù)霎奢。
Thread1.IsBackground = true;//設置為后臺進程
ProcessThread類型:和操作系統(tǒng)本地線程是一致的。
例:
namespace _03_Thread
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//執(zhí)行任務1
private void button1_Click(object sender, EventArgs e)
{
int a = 0;
//ThreadStart()方法定義:public delegate void ThreadStart();
//ThreadStart
//Thread objThread1 = new Thread(delegate()
//{
//? ? for (int i = 0; i <= 20; i++)
//? ? {
//? ? ? ? Console.WriteLine((a + i) + "");
//? ? ? ? Thread.Sleep(500);
//? ? }
//});
Thread objThread1 = new Thread(()=>
{
for (int i = 0; i <= 20; i++)
{
Console.WriteLine((a + i) + "");
Thread.Sleep(500);
}
});
objThread1.IsBackground =true ;//設置為后臺進程
objThread1.Start ();
}
//執(zhí)行任務2
private void button2_Click(object sender, EventArgs e)
{
Thread objThread = new Thread(() =>
{
for (int i = 0; i <= 50; i++)
{
Console.WriteLine("-------a"+i +"------");
Thread.Sleep(100);
}
});
objThread.IsBackground = true;//設置為后臺進程
objThread.Start();
}
}
}