使用.Net實(shí)現(xiàn)多線程經(jīng)驗(yàn)總結(jié)
1.簡(jiǎn)述
一般一個(gè)程序一個(gè)進(jìn)程,代碼是存在進(jìn)程中的,進(jìn)程本身不執(zhí)行代碼, 執(zhí)行代碼的是線程。
一般一個(gè)進(jìn)程里就一個(gè)線程。(一個(gè)商店就一個(gè)老板娘。)
進(jìn)程就是在內(nèi)存中開(kāi)辟了一個(gè)空間。代碼,圖片。。等就存在這個(gè)空間里。代碼線程去執(zhí)行。
默認(rèn)只有一個(gè)線程。
systerm.threading //線程操作的類在這個(gè)命名空間下。
2.前臺(tái)線程與后臺(tái)線程。
開(kāi)啟一個(gè)線程,就是創(chuàng)建一個(gè)線程對(duì)象即可。
線程默認(rèn)情況下都是前臺(tái)線程。
要把所有的前臺(tái)線程執(zhí)行完后,程序才會(huì)退出。
進(jìn)程里默認(rèn)的線程叫主線程或者默認(rèn)線程,或UI線程。
后臺(tái)線程,只要所有的前臺(tái)線程結(jié)束,所有的后臺(tái)線程就直接結(jié)束。
Thread th = new Thread(Sum);
th.Name ="線程1"; 給線程取名。調(diào)試的時(shí)候可以在輸出中看到具體名稱。
th.IsBackground = true;
th.Start();
th.Abort(); 強(qiáng)行終止線程。
Thread.Sleep(1000); 暫停線程,單位是毫秒
Thread cuTh = Thread.CurrentThread 得到當(dāng)前線程的引用。Thread類型。
TextBox.CheckForIllegalCrossThreadCalls = false; //關(guān)閉空間的跨線程訪問(wèn)檢查。 否則會(huì)出現(xiàn)如下錯(cuò)誤
3.線程重入
同一個(gè)進(jìn)程中的多個(gè)線程之間可以“并發(fā)”執(zhí)行。
多個(gè)線程訪問(wèn)同一資源, 可能造成不同步的情況,這個(gè)叫做線程重入。
應(yīng)對(duì)此情況,可加鎖處理。
private void CountNum()
{
lock (this)
{
for (int i = 0; i < 10000; i++)
{
int num = int.Parse(textBox1.Text.Trim());
num++;
textBox1.Text = num.ToString();
}
}
}
4.線程對(duì)象本質(zhì)(委托)
4.1 無(wú)參方法
需要傳一個(gè)委托對(duì)象。
如果需要傳有參方法。
則是創(chuàng)建的ParameterizedThreadStart 的委托對(duì)象。

傳參是在Start方法中傳入;start方法有兩個(gè)重載。

小伙伴們是否對(duì).net中使用多線程有所了解了呢,如有疑問(wèn),請(qǐng)留言。
- C#(asp.net)多線程用法示例(可用于同時(shí)處理多個(gè)任務(wù))
- .NET Framework中定時(shí)器timer的單線程與多線程使用講解
- .net面向?qū)ο笾嗑€程(Multithreading)及 多線程高級(jí)應(yīng)用
- .NET Windows 多線程thread編程
- 一些.NET對(duì)多線程異常處理技巧分享
- asp.net 計(jì)劃任務(wù)管理程序?qū)崿F(xiàn),多線程任務(wù)加載
- c#.net多線程編程教學(xué)——線程同步
- ASP.NET:一段比較經(jīng)典的多線程學(xué)習(xí)代碼
- .Net多線程編程(誤用點(diǎn)分析)
相關(guān)文章
如何創(chuàng)建一個(gè)AJAXControlToolKit的擴(kuò)展控件
相信熟悉Microsoft提供的AJAXControlToolKit的朋友已經(jīng)感覺(jué)到它的強(qiáng)大了。但是如果我們需要其它一些控件,或者是我們碰到一些很好的javascript然后需要把它們整合到ajaxcontroltoolkit中,如何來(lái)做。???2009-08-08
淺談.Net Core后端單元測(cè)試的實(shí)現(xiàn)
這篇文章主要介紹了淺談.Net Core后端單元測(cè)試的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
.NET使用js制作百度搜索下拉提示效果(不是局部刷新)實(shí)現(xiàn)思路
搞了個(gè)不是局部刷新的百度搜索框下拉提示效果大致思路:前臺(tái)放一個(gè)input標(biāo)簽,然后當(dāng)該標(biāo)簽內(nèi)的值輸入有變化的時(shí)候,調(diào)用后臺(tái)代碼查詢 符合條件的數(shù)據(jù)綁定ListBox,感興趣的朋友可以了解下2013-01-01
asp.net gridview的Rowcommand命令中獲取行索引的方法總結(jié)
asp.net gridview的Rowcommand命令中獲取行索引的方法總結(jié),需要的朋友可以參考下。2010-05-05

