亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

深入多線程之:解析線程的交會(Thread Rendezvous)詳解

2020-01-24 03:19:53
字體:
來源:轉載
供稿:網友

在上篇文章中我們使用了Wait和Pulse 實現了Countdown

接下來我們可以使用剛剛寫的Countdown 類來實現兩個線程的交會。

復制代碼 代碼如下:

class Rendezvous
    {
        static object _locker = new object();
        static Countdown _countdown = new Countdown(2);

        public static void MainThread()
        {
            Random r = new Random();
            new Thread(Mate).Start(r.Next(1000));
            Thread.Sleep(r.Next(10000)); //主線程睡眠一段時間

            _countdown.Singnal(); //向_countdown注冊信號,告知主線程已經來了。
            _countdown.Wait();    //等待其他線程

            Console.WriteLine("Mate!");
        }

        static void Mate(object delay)
        {
            Thread.Sleep((int)delay);//線程睡眠。

            _countdown.Singnal(); //向_countdown注冊信號,告知線程已經來了。
            _countdown.Wait();   //等待其他線程。

            Console.WriteLine("Mate!");

        }
}


就像小時候去春游一樣,這里的_countdown就是老師,線程就是學生。

學生A早上睡覺,然后起床來到交會點,然后告訴老師,我來了,接著等待老師的出發命令,因為老師知道有兩個學生要去春游,所以現在只來了一個,還有一個沒有來,所以老師會讓學生A等待,阻塞。

學生B也是睡覺,接著也來到交會點,告訴老師,我也來了,然后等待老師的出發命令。

當學生B告訴老師我來了的時候,此時老師的剩余等待學生計數為0,所以老師告訴這兩個學生,你們可以出發了。

.net framework 4.0 提供了Barrier 的構造來實現線程交會的功能。如圖所示:

Thread1 調用SignalAndWait告知Barrier,我已經來了,然后阻塞。

Thread3調用SignalAndWait告知Barrier,我已經來了,然后阻塞。

Thread2 調用SignalAndWait告知Barrier,我已經來了,Barrier知道現在三個線程都來了,所以讓他們繼續并發執行。

Barrier的方法簡介:

    AddParticipants:增加參與者,也就是增加春游的人數。
    RemoveParticipant:減少參與者,可能某人肚子痛,不能參加春游了。
    SignalAndWait :參與者已經來了,并等待其他參與者的到來。

下面是使用Barrier的示例:

復制代碼 代碼如下:

static Barrier _barrier = new Barrier(3);//說明有三個參與者

        public static void Main()
        {
            new Thread(Speak).Start();
            new Thread(Speak).Start();
            new Thread(Speak).Start();
        }

        static void Speak()
        {
            for (int i = 0; i < 5; i++)
            {
                Console.Write(i + " ");
                _barrier.SignalAndWait(); //告知參與者已經來了,等待其他參與者
            }
        }


輸出如下:

0 0 0 1 1 1 2 2 2 3 3 3 4 4 4

Barrier 的另一個非常有用的特性是在每一個階段完成的時候你都可以執行一個post-phase 的action委托。

什么是階段呢??,階段就是參與者全部都到了的時候。

如果我們修改Barrier的構造函數如下:

static Barrier _barrier = new Barrier(3, (barrier) => Console.WriteLine());

//說明有三個參與者,并且每次三個參與者完成任務的時候執行Console.WriteLine方法.

那么我們的輸出如下所示:

0 0 0

1 1 1

2 2 2

3 3 3

4 4 4

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日日噜噜噜夜夜爽亚洲精品| 38少妇精品导航| 国产欧美韩国高清| 国产美女久久精品| 亚洲天堂免费观看| 亚洲天堂av在线免费| 日韩大陆欧美高清视频区| 81精品国产乱码久久久久久| 欧美夫妻性生活视频| 欧美日韩另类视频| 久久精品91久久久久久再现| 欧美日韩精品中文字幕| 91精品国产91久久久久久不卡| 国产亚洲一区精品| 成人免费自拍视频| 亚洲激情视频在线| 亚洲成人精品视频| 精品国产老师黑色丝袜高跟鞋| 亚洲成在人线av| 日韩电影大全免费观看2023年上| 菠萝蜜影院一区二区免费| 亚洲福利视频免费观看| 91精品国产乱码久久久久久久久| 疯狂做受xxxx高潮欧美日本| 综合136福利视频在线| 亚洲在线视频观看| 久久视频在线观看免费| 91精品国产91久久久久久最新| 欧美亚洲国产日韩2020| 青青a在线精品免费观看| 色在人av网站天堂精品| 欧美精品精品精品精品免费| 国产一区二区三区在线观看网站| 日本久久久久久| 亚洲欧美制服丝袜| 欧美日韩激情视频8区| 中文字幕在线精品| 原创国产精品91| 最近中文字幕日韩精品| 欧美在线欧美在线| 国产成人黄色av| 午夜精品视频在线| 亚洲aⅴ日韩av电影在线观看| 欧美精品第一页在线播放| 欧美午夜精品伦理| 日韩av最新在线| 麻豆成人在线看| 日韩欧中文字幕| www亚洲精品| 成人高h视频在线| 95av在线视频| 日韩欧美国产一区二区| 欧美福利视频在线观看| 国内外成人免费激情在线视频| 欧美孕妇与黑人孕交| 欧美精品一二区| 久久青草福利网站| 久久精品91久久久久久再现| 亚洲成人a级网| 欧美大人香蕉在线| 欧美视频国产精品| 欧美精品久久久久久久| 亚洲第一av网站| 欧美精品在线第一页| 黄色成人在线免费| 91亚洲国产成人精品性色| 国产精品视频公开费视频| 精品国产一区二区三区久久狼5月| 不卡在线观看电视剧完整版| 亚洲欧美综合区自拍另类| 欧美在线视频一区| 日韩精品在线影院| 国语自产精品视频在线看抢先版图片| 精品成人乱色一区二区| 亚洲成人免费在线视频| 亚洲国产高潮在线观看| 亚洲老司机av| 色樱桃影院亚洲精品影院| 中文一区二区视频| 国产精品99蜜臀久久不卡二区| 欧日韩不卡在线视频| 欧美在线中文字幕| 欧美性猛交xxxx免费看久久久| 亚洲精品wwwww| 丝袜美腿亚洲一区二区| 日韩美女视频免费在线观看| 欧美国产乱视频| 亚洲人午夜精品| 欧美一区二粉嫩精品国产一线天| 日本精品视频在线观看| 国产精品wwww| 亚洲最新av在线网站| 美日韩精品视频免费看| 国产精品日日摸夜夜添夜夜av| 欧美一区二粉嫩精品国产一线天| 91av在线网站| 91精品视频在线播放| 日韩欧美亚洲国产一区| 亚洲国产另类久久精品| 亚洲国产99精品国自产| 最近2019中文免费高清视频观看www99| 国产免费成人av| 国产亚洲精品久久| 久久99久久99精品中文字幕| 日韩av电影手机在线| 欧美大秀在线观看| 亚洲最大福利视频网| 亚洲欧美日韩视频一区| 国产精品一二三在线| 国产精品久久久久久久app| 欧美在线视频一区| 国产有码在线一区二区视频| 亚洲精品一区久久久久久| 欧美极品欧美精品欧美视频| 欧美日本国产在线| 91情侣偷在线精品国产| 日韩欧美在线中文字幕| 成人精品福利视频| 国内精品美女av在线播放| 国产精品黄页免费高清在线观看| 青草青草久热精品视频在线观看| 精品久久久久久中文字幕| 亚洲人成电影网站色www| 在线观看日韩av| 欧美激情成人在线视频| 国产亚洲精品日韩| 亚洲自拍小视频免费观看| 欧美激情精品久久久久久免费印度| 午夜精品久久久99热福利| 亚洲一区二区免费在线| 日本成人激情视频| 日韩精品视频在线免费观看| 欧美日韩裸体免费视频| 久久99青青精品免费观看| 久久天天躁狠狠躁老女人| 亚洲人成电影网站| 日本精品视频在线| 国产日韩换脸av一区在线观看| 欧美亚洲一级片| 国产欧美最新羞羞视频在线观看| 欧美性极品少妇精品网站| 久久国产精品99国产精| 亚洲理论电影网| 夜夜嗨av色综合久久久综合网| 国产精品高清免费在线观看| 亚洲欧美日韩在线高清直播| 成人淫片在线看| 国产精品久久久亚洲| 欧美激情精品久久久久| 欧美大胆在线视频| 98视频在线噜噜噜国产| 成人av电影天堂| 亚洲激情在线观看| 国产精品成人在线| 国内精品一区二区三区| 精品久久久国产| 永久免费看mv网站入口亚洲| 国产精品日韩电影| 欧美激情视频三区| 欧美性xxxxx极品娇小| 国产一区二区久久精品| 午夜精品国产精品大乳美女| www.日本久久久久com.| 国产成人久久精品|