色婷婷AV无码久久精品,久久天天躁狠狠躁夜夜97,羞羞麻豆国产精品1区2区3区,啪影院免费线观看视频,思思久久er99精品亚洲

常州機(jī)器視覺(jué)培訓(xùn)

常州上位機(jī)軟件開(kāi)發(fā)

常州工業(yè)機(jī)器人編程設(shè)計(jì)培訓(xùn)

常州PLC培訓(xùn)

常州PLC

常州PLC編程培訓(xùn)

常州電工培訓(xùn)

常州和訊plc培訓(xùn)中心歡迎您!
當(dāng)前位置:網(wǎng)站首頁(yè) > 新聞中心 新聞中心
C#多線程啟動(dòng)停止暫停繼續(xù)(下)-常州上位機(jī)學(xué)習(xí),常州機(jī)器視覺(jué)學(xué)習(xí)
日期:2024-3-7 16:50:00人氣:  標(biāo)簽:常州上位機(jī)學(xué)習(xí) 常州機(jī)器視覺(jué)學(xué)習(xí)

多線程的暫停繼續(xù)

多線程的暫停繼續(xù),.NET為我們提供了另外一個(gè)對(duì)象——ManualResetEvent,這個(gè)對(duì)象會(huì)有一個(gè)值,這個(gè)值是布爾類型,就像一個(gè)門閘一樣,True是打開(kāi)門閘,F(xiàn)alse是關(guān)閉門閘,所以想要暫停多線程就調(diào)用這個(gè)對(duì)象的Reset方法,想要繼續(xù)多線程就調(diào)用這個(gè)對(duì)象的Set方法,使用非常簡(jiǎn)單。


首先我們創(chuàng)建一下這個(gè)對(duì)象,可以通過(guò)構(gòu)造方法,給這個(gè)對(duì)象賦初始值,我這里為True,這樣就能直接運(yùn)行,不會(huì)阻塞。


        /// <summary>

        /// 線程暫?刂,默認(rèn)開(kāi)啟

        /// </summary>

        private ManualResetEvent manual = new ManualResetEvent(true);

但是如果希望這個(gè)對(duì)象與多線程有所聯(lián)系,必須要在多線程的方法里體現(xiàn)這個(gè)對(duì)象的作用,這個(gè)是調(diào)用這個(gè)對(duì)象的WaitOne方法,表示在調(diào)用的地方阻塞住,通過(guò)判斷True或者False來(lái)決定是否繼續(xù)執(zhí)行,就像大家開(kāi)車過(guò)高速收費(fèi)站一樣,即使現(xiàn)在普遍采用ETC了,在入口也需要減速,有一個(gè)ETC識(shí)別的過(guò)程,識(shí)別成功才會(huì)抬桿,識(shí)別識(shí)別,桿子是不會(huì)自動(dòng)抬起的,這個(gè)是一樣的道理。


所以線程執(zhí)行代碼如下:


        /// <summary>

        /// 多線程執(zhí)行方法

        /// </summary>

        private void TaskMethod()

        {

            while (!cts.IsCancellationRequested)

            {

                manual.WaitOne();


                CurrentValue++;


                if (CurrentValue == 200)

                {

                   CurrentValue = 0;

                }

                Thread.Sleep(100);

            }

        }

對(duì)比一下,其實(shí)就是加了一個(gè)manual.WaitOne()。


線程暫停代碼:


        private void btn_Pause_Click(object sender, EventArgs e)

        {

            manual.Reset();

        }       

線程繼續(xù)代碼:


        private void btn_Continue_Click(object sender, EventArgs e)

        {

            manual.Set();

        }

AutoResetEvent

AutoResetEvent和ManualResetEvent的用法非常相似,區(qū)別在于一個(gè)是手動(dòng),一個(gè)是自動(dòng),AutoResetEvent會(huì)在置位之后自動(dòng)復(fù)位,這樣體現(xiàn)在多線程里,就是會(huì)只執(zhí)行一次,就像大家進(jìn)小區(qū)一樣,如果有10輛車在排隊(duì),這時(shí)候如果自動(dòng)模式,每次只能進(jìn)一輛車,如果是手動(dòng)模式,可以由保安控制門閘打開(kāi),等10輛車都進(jìn)去之后,再由保安將門閘關(guān)注。

本文網(wǎng)址:
下一篇:沒(méi)有資料

相關(guān)信息:
版權(quán)所有 CopyRight 2006-2017 江蘇和訊自動(dòng)化設(shè)備有限公司 常州自動(dòng)化培訓(xùn)中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務(wù)廣場(chǎng)2號(hào)樓1409室
蘇ICP備14016686號(hào)-2 技術(shù)支持:常州山水網(wǎng)絡(luò)
本站關(guān)鍵詞:常州PLC培訓(xùn) 常州PLC編程培訓(xùn) 常州PLC編程 常州PLC培訓(xùn)班 網(wǎng)站地圖 網(wǎng)站標(biāo)簽
在線與我們?nèi)〉寐?lián)系
色婷婷AV无码久久精品,久久天天躁狠狠躁夜夜97,羞羞麻豆国产精品1区2区3区,啪影院免费线观看视频,思思久久er99精品亚洲