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

首頁 > 編程 > C# > 正文

C#通過接口與線程通信(捕獲線程狀態)示例代碼

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

提示:本文所提到的線程狀態變化,并不是指線程啟動、暫停、停止,而是說線程內部狀態的遷移。隨著軟件技術不斷發展,用戶需求不斷提升,多線程的重要性日益凸顯。

關于線程,通俗的講,每當啟動一個exe應用程序,都會創建一個進程和一個主線程,主線程用來處理界面繪制、界面事件響應等工作,而進程則是線程的容器,主線程和用戶創建的新線程,都將在相應的進程中維護。由此可知,一個程序之所以能工作,是線程的功勞,進程僅僅是容器而已,一旦程序的主線程被阻塞,就會造成界面無響應等現象,這時候就要用多線程解決問題。然而,在程序中使用多線程,是比較頭疼的一件事。以我的體會,多線程首先會造成程序不穩定,處理不好容易導致程序崩潰。其次,多線程控制并不是那么容易,比如線程狀態監控、線程訪問沖突等等。最后,還有一個線程通信問題,線程和線程之間的數據交互、消息通知等,并不是那么容易,往往涉及高級知識,比如委托。很多情況下,我們希望能獲得線程的“返回值”,也就是能夠獲得線程中的數據,當線程內部狀態發生改變時,我們能及時獲取關鍵數據,來進行不同的處理。遺憾的是,線程是沒有返回值的,在線程中運行的方法,返回值必須是void,但可以有參數。本文就從這個角度出發,通過一個簡單的小技巧,及時捕獲線程狀態變化,并且獲得關鍵數據。

簡單的解釋一下,核心思想:通過定義接口,來規范線程參數,當線程內部狀態遷移時,調用接口中定義的對應處理方法,達到捕獲線程狀態的目的,同時也能獲得線程內部關鍵數據。

代碼實現如下:

winform窗體中的代碼(對應線程相關類):

復制代碼 代碼如下:

using System.Threading;

 ///羅旭成
 ///2013-11-14
 /// <summary>

 /// 響應開始按鈕單擊事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnStart_Click(object sender, EventArgs e)
 {
     //實例化ThreadNotice類對象,ThreadNotice類實現了IThreadNotice接口
     IThreadNotice tn = new ThreadNotice();
     //實例化一個Thread對象,并且指定該Thread對象執行Run方法
     Thread th = new Thread(Run);
     //啟動線程,并且傳入線程方法(Run)需要的一個參數
     //注意,這里最多能傳入一個參數??!并且要求線程方法的參數為Object類型??!
     th.Start(tn);
 }

 //線程中運行的方法
 void Run(Object obj)
 {
     //將對象轉換成接口類型
     IThreadNotice tn = (IThreadNotice)obj;
     //假設狀態為1,則調用實現IThreadNotice接口類的狀態1處理方法,并傳入狀態1下的數據
    tn.ThreadEvent1("狀態1");
     //假設為狀態2,則調用實現IThreadNotice接口類的狀態2處理方法,并傳入狀態2下的數據
     tn.ThreadEvent2("狀態2");
 }

線程狀態處理接口:

復制代碼 代碼如下:

///羅旭成
///2013-11-14
//線程狀態通知接口
 public interface IThreadNotice
 {
     //狀態1處理方法
     void ThreadEvent1(string msg);
     //狀態2處理方法
     void ThreadEvent2(string msg);
 }

狀態處理類:

復制代碼 代碼如下:

using System.Diagnostics;

///羅旭成
///2013-11-14
//ThreadNotice類實現了IThreadNotice接口
 public class ThreadNotice:IThreadNotice
 {
     //ThreadNotice類對于狀態1的處理
     public void ThreadEvent1(string msg)
    {
         Debug.WriteLine("ThreadNotice類處理――" + msg);
     }


     //ThreadNotice類對于狀態2的處理
     public void ThreadEvent2(string msg)
     {
         Debug.WriteLine("ThreadNotice類處理――" + msg);
     }
 }



相信大家已經看出,此方法只能達到捕獲、處理線程狀態的效果,并不能把線程中的數據返回。也就是說,雖然我們捕獲了線程狀態,獲取了關鍵數據,但這仍然是一種向下的深層調用,并沒有向上層返回。比如,做不到把線程中的數據顯示在界面上,那將用到委托技術。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲天堂av在线播放| 成人福利在线视频| 91国内产香蕉| 亚洲精品一区二区网址| 欧美在线视频一区二区| 亚洲精品美女久久| 久久久亚洲成人| 欧美日韩免费区域视频在线观看| 亚洲欧美第一页| 欧美国产高跟鞋裸体秀xxxhd| 亚洲www在线观看| 成人在线国产精品| 欧美日韩成人在线视频| 日韩在线视频免费观看高清中文| 欧美在线视频观看| 亚洲欧美国产精品| 亚洲国产精品字幕| 精品国内亚洲在观看18黄| 久久久久久美女| 91精品国产综合久久久久久蜜臀| 久久综合伊人77777| 久久福利网址导航| 国产精品美女av| 国内精品久久久久伊人av| 欧美激情性做爰免费视频| 欧美黄色片在线观看| 国产精品视频白浆免费视频| 亚洲人成毛片在线播放| 亚洲精品一区在线观看香蕉| 亚洲成人a级网| 伊人伊人伊人久久| 成人国产亚洲精品a区天堂华泰| 国产精品海角社区在线观看| 欧美孕妇毛茸茸xxxx| 免费不卡欧美自拍视频| 91国内揄拍国内精品对白| 亚洲天堂成人在线| 国产精品一区二区三区毛片淫片| 国产一区二区三区在线免费观看| 国产色视频一区| 日韩一中文字幕| 日韩黄色在线免费观看| 亚洲风情亚aⅴ在线发布| 日韩久久精品成人| 亚洲精品视频网上网址在线观看| 尤物99国产成人精品视频| 国产精品久久久久久久天堂| 国产伦精品一区二区三区精品视频| 亚洲白拍色综合图区| 成人深夜直播免费观看| 欧美精品在线免费播放| 欧美午夜精品久久久久久浪潮| 91丨九色丨国产在线| 日韩在线观看免费av| 国产成人小视频在线观看| 成人在线中文字幕| 国产91ⅴ在线精品免费观看| 一区二区欧美在线| 国产主播欧美精品| 日本韩国欧美精品大片卡二| 国产日韩欧美另类| 国产成人免费91av在线| 欧美另类xxx| 亚洲美女www午夜| 91精品国产91久久久久久吃药| 在线视频日韩精品| 国产一区二区三区网站| 精品国产成人在线| 欧美日韩一区二区在线播放| 北条麻妃一区二区三区中文字幕| 国产一区二区三区视频在线观看| 97视频在线观看免费高清完整版在线观看| 久久久人成影片一区二区三区观看| 色偷偷偷亚洲综合网另类| 久久精品美女视频网站| 亚洲午夜久久久久久久| 国产精品永久免费视频| 91久久国产综合久久91精品网站| 久久99精品视频一区97| 在线观看亚洲区| 伊人激情综合网| 日本精品一区二区三区在线| 国产成人在线精品| 国产精品青青在线观看爽香蕉| 国产成一区二区| 热re99久久精品国产66热| 91久久精品日日躁夜夜躁国产| 成人妇女免费播放久久久| 亚洲成人精品视频在线观看| 色综合色综合久久综合频道88| 亚洲美腿欧美激情另类| 国产精品扒开腿做爽爽爽的视频| 亚洲精品久久久久久下一站| 日韩在线观看你懂的| 国产精品在线看| 欧美激情中文字幕在线| 国产精品久久久久久五月尺| 国产精品丝袜久久久久久高清| 九九九热精品免费视频观看网站| 精品国产乱码久久久久久虫虫漫画| 国产精品亚洲аv天堂网| 久久久久久高潮国产精品视| 欧美片一区二区三区| 欧美自拍视频在线观看| 日韩av在线一区二区| 亚洲人免费视频| 亚洲激情第一页| 久久激情五月丁香伊人| 亚洲天堂免费视频| 亚洲欧美www| 亚洲天堂免费观看| 亚洲精品白浆高清久久久久久| 国产成人精品电影久久久| 国产成人亚洲综合青青| 久久久久久久久久久成人| 亚洲女人被黑人巨大进入al| 日韩中文字幕免费| 一本一本久久a久久精品综合小说| 亚洲天堂开心观看| 欧美激情亚洲精品| 亚洲第一免费播放区| 黄网站色欧美视频| 亚洲精品国精品久久99热| 精品国产91久久久久久| 韩国国内大量揄拍精品视频| 91超碰caoporn97人人| 国产欧美一区二区三区四区| 欧美综合激情网| 亚洲精品按摩视频| 日韩免费在线播放| 国产成+人+综合+亚洲欧洲| 成人国内精品久久久久一区| 中文字幕免费精品一区高清| 亚洲成人精品视频在线观看| 精品国产91久久久久久老师| 国产精品视频精品视频| 亚洲国产美女久久久久| 91精品久久久久久久久久另类| 国产精品女主播视频| 国产中文字幕日韩| 欧美在线亚洲在线| 国产午夜一区二区| 日韩最新在线视频| 国产成人精品a视频一区www| 成人午夜在线影院| 疯狂蹂躏欧美一区二区精品| 一本色道久久综合狠狠躁篇怎么玩| 精品久久国产精品| 国产成人福利夜色影视| 性欧美xxxx| 中文字幕日韩视频| 亚洲欧洲激情在线| 91久久精品日日躁夜夜躁国产| 欧美在线一区二区三区四| 欧美激情综合色综合啪啪五月| 欧美日韩在线一区| 日韩精品中文字幕有码专区| 日本久久亚洲电影| 亚洲国产精品推荐| 国产成人在线精品| 日韩在线国产精品| 亚洲精品日韩在线| 91成人在线视频| 亚洲精品网站在线播放gif|