日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#多线程JOIN方法初探

發(fā)布時(shí)間:2023/12/19 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#多线程JOIN方法初探 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[說明:剛接觸多線程時(shí),弄不明白Join()的作用,查閱了三本書,都不明不白。后來經(jīng)過自己的一番試驗(yàn),終于弄清了Join()的本質(zhì)。大家看看我這種寫法是否易懂,是否真的寫出了Join()的本質(zhì),多提寶貴意見。]

  Thread類的Join()方法能夠?qū)蓚€(gè)交替執(zhí)行的線程合并為順序執(zhí)行的線程。比如在線程B中調(diào)用了線程A的Join()方法,線程A將插入線程B之前,直到線程A執(zhí)行完畢后,才會(huì)繼續(xù)執(zhí)行線程B。

  試一試:線程的插入

  //《C#初學(xué)課堂》
    //注意添加命名空間
    using System.Threading;
  
    static void Main(string[] args)
    {
      //線程A
      Thread ThreadA = new Thread(delegate()
      {
        for (int i = 0; i <= 100000000; i++)
        {
          if (i % 1000000 == 0)
          {
            Console.Write('A');
          }
        }
      });
  
      //線程B
      Thread ThreadB = new Thread(delegate()
      {       
        for (int i = 0; i <= 50000000; i++)
        {
          if (i % 1000000 == 0)
          {
            Console.Write('B');
          }
        }
  
        //在這里插入線程A
        ThreadA.Join();
  
        for (int i = 0; i <= 50000000; i++)
        {
          if (i % 1000000 == 0)
          {
            Console.Write('b');
          }
        }
      });
  
      //啟動(dòng)線程
      ThreadA.Start();
      ThreadB.Start();
    }

  運(yùn)行結(jié)果如下,你能分析清楚為什么嗎?

由運(yùn)行結(jié)果可以看出,一開始兩個(gè)線程交替進(jìn)行,當(dāng)線程B執(zhí)行到語句“ThreadA.Join()”時(shí),線程A被插入到線程B之前,兩個(gè)線程合并到一起,變?yōu)轫樞驁?zhí)行,直到執(zhí)行完線程A中的所有語句,才去執(zhí)行線程B中剩余的語句。

  換句話說,當(dāng)我們?cè)诰€程B中調(diào)用ThreadA.Join()時(shí),該方法只有在線程ThreadA執(zhí)行完畢之后才會(huì)返回。Join()函數(shù)還可以接受一個(gè)表示毫秒數(shù)的參數(shù),當(dāng)達(dá)到指定時(shí)間后,如果線程A還沒運(yùn)行完畢,那么Join函數(shù)將返回,這時(shí)線程A和線程B再次處于交替運(yùn)行狀態(tài)中。

http://www.cnblogs.com/millen/archive/2009/09/07/1520353.html

?

總結(jié)

以上是生活随笔為你收集整理的C#多线程JOIN方法初探的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。