欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#多線(xiàn)程的Join()方法

 更新時(shí)間:2022年04月20日 08:37:51   作者:農(nóng)碼一生  
這篇文章介紹了C#多線(xiàn)程的Join()方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、簡(jiǎn)介

Join方法主要是用來(lái)阻塞調(diào)用線(xiàn)程,直到某個(gè)線(xiàn)程終止或經(jīng)過(guò)了指定時(shí)間為止。官方的解釋比較乏味,通俗的說(shuō)就是創(chuàng)建一個(gè)子線(xiàn)程,給它加了這個(gè)方法,其它線(xiàn)程就會(huì)暫停執(zhí)行,直到這個(gè)線(xiàn)程執(zhí)行完為止才去執(zhí)行(包括主線(xiàn)程)。

二、代碼

class Program
    {
        static void Main(string[] args)
        {
            Thread threadA = new Thread(ThreadMethod);      
            threadA.Name = "線(xiàn)程A";
            Thread threadB = new Thread(ThreadMethod);      
            threadB.Name = "線(xiàn)程B";
            threadA.Start();       
            //threadA.Join();      
            threadB.Start();       
            //threadB.Join();

            for (int i = 1; i <=3; i++)
            {
                Console.WriteLine("我是:主線(xiàn)程,我循環(huán){1}次", Thread.CurrentThread.Name, i);
                Thread.Sleep(300);          //休眠300毫秒                                                
            }
            Console.ReadKey();
        }
        public static void ThreadMethod(object parameter)
        {
            for (int i = 1; i <=3; i++)
            {
                Console.WriteLine("我是:{0},我循環(huán){1}次", Thread.CurrentThread.Name, i);
                Thread.Sleep(300);         //休眠300毫秒              
            }
        }
    }

三、運(yùn)行結(jié)果

因?yàn)榫€(xiàn)程之間的執(zhí)行是隨機(jī)的,所有執(zhí)行結(jié)果和我們想象的一樣,雜亂無(wú)章!但是說(shuō)明他們是同時(shí)執(zhí)行的。

現(xiàn)在我們把代碼中的 ThreadA.join()和ThreadB.join()方法注釋取消,首先程序中有三個(gè)線(xiàn)程,ThreadA、ThreadB和主線(xiàn)程,首先主線(xiàn)程先阻塞,然后線(xiàn)程ThreadB阻塞,ThreadA先執(zhí)行,執(zhí)行完畢以后ThreadB接著執(zhí)行,最后才是主線(xiàn)程執(zhí)行。

到此這篇關(guān)于C#多線(xiàn)程Join()方法的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論