C#_多線程
線程

What

操作系統(tǒng)進行運算調度的最小單位
包含在進程當中,是進程(可以相互訪問且獨立)中的實際運作單位
一般來說,我們的程序都是在主線程執(zhí)行,
在開啟例外一個線程來執(zhí)行程序(需要委托來包裹)時為多線程
using System.Threading命名空間下

Why

完成特殊需求
處理復雜的運算或者邏輯
尋路,網絡通信,檢測用戶輸入

How

Thread t=new Thread(()=>{});//聲明線程

t.Start();//開啟線程,默認為前臺線程,可能會影響進程

t.IsBackground=true;//設置為后臺線程,當主線程結束后臺線程也將會結束

t=null;//關閉線程
可以對新開線程的死循環(huán)進行bool標識(static),在主線程中設置false可以關閉線程
t.Abort();//平臺不同會報錯建議不用,可以Try進行包裹

Thread.sleep(1000);//線程休眠1000毫秒=1秒【需要在線程邏輯當中執(zhí)行】

線程之間進行數據共享,需要枷鎖才行(影響效率),要不然會出現(xiàn)問題
lock(obj){//邏輯}//包裹將在進行對公共對象進行引用時進行加鎖//obj為object 對象靜態(tài)引用類型;
標簽: