濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 使用.Net實(shí)現(xiàn)多線程經(jīng)驗(yàn)總結(jié)

使用.Net實(shí)現(xiàn)多線程經(jīng)驗(yàn)總結(jié)

熱門標(biāo)簽:浦發(fā)電話機(jī)器人提醒還款 昆明語音電銷機(jī)器人價(jià)格 電銷語音機(jī)器人型號(hào)參數(shù) 征途美甲店地圖標(biāo)注 百度地圖怎樣做地圖標(biāo)注 柳州電銷機(jī)器人公司 騰訊地圖標(biāo)注手機(jī) 400電話如何申請(qǐng)取消 太原400電話上門辦理

1.簡述

  一般一個(gè)程序一個(gè)進(jìn)程,代碼是存在進(jìn)程中的,進(jìn)程本身不執(zhí)行代碼, 執(zhí)行代碼的是線程。

  一般一個(gè)進(jìn)程里就一個(gè)線程。(一個(gè)商店就一個(gè)老板娘。)

  進(jìn)程就是在內(nèi)存中開辟了一個(gè)空間。代碼,圖片。。等就存在這個(gè)空間里。代碼線程去執(zhí)行。

  默認(rèn)只有一個(gè)線程。

復(fù)制代碼 代碼如下:

systerm.threading //線程操作的類在這個(gè)命名空間下。

2.前臺(tái)線程與后臺(tá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é)束。

復(fù)制代碼 代碼如下:

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)閉空間的跨線程訪問檢查。 否則會(huì)出現(xiàn)如下錯(cuò)誤

 

3.線程重入

  同一個(gè)進(jìn)程中的多個(gè)線程之間可以“并發(fā)”執(zhí)行。

  多個(gè)線程訪問同一資源, 可能造成不同步的情況,這個(gè)叫做線程重入。

  應(yīng)對(duì)此情況,可加鎖處理。

復(fù)制代碼 代碼如下:

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 無參方法     

需要傳一個(gè)委托對(duì)象。

復(fù)制代碼 代碼如下:
ThreadStart ts = new ThreadStart(CountNum); Thread th = new Thread(ts); 等價(jià)于 Thread th = new Thread(CountNum); 本質(zhì)傳的是一個(gè)委托對(duì)象。 (CountNum是無參方法)
4.2 有參方法

  如果需要傳有參方法。

  則是創(chuàng)建的ParameterizedThreadStart 的委托對(duì)象。

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

小伙伴們是否對(duì).net中使用多線程有所了解了呢,如有疑問,請(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)分析)

標(biāo)簽:江蘇 蘭州 天門 白山 陽泉 張家界 德陽 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用.Net實(shí)現(xiàn)多線程經(jīng)驗(yàn)總結(jié)》,本文關(guān)鍵詞  使用,.Net,實(shí)現(xiàn),多,線程,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用.Net實(shí)現(xiàn)多線程經(jīng)驗(yàn)總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用.Net實(shí)現(xiàn)多線程經(jīng)驗(yàn)總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    五常市| 磐安县| 河东区| 新乡市| 中江县| 凤冈县| 中卫市| 元谋县| 胶南市| 赣州市| 商洛市| 临湘市| 昆山市| 柯坪县| 柳河县| 洪雅县| 浦东新区| 松潘县| 裕民县| 南平市| 独山县| 台中县| 综艺| 团风县| 来安县| 那坡县| 惠州市| 玉林市| 苗栗县| 绿春县| 偃师市| 枣阳市| 宁波市| 中西区| 禹城市| 三门县| 贵阳市| 贺州市| 太谷县| 阳春市| 九龙坡区|