中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么實現長異步操作

發布時間:2021-07-20 10:57:40 來源:億速云 閱讀:150 作者:Leah 欄目:編程語言

本篇文章為大家展示了C#中怎么實現長異步操作,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

程序中執行按鈕的Click 處理如下:

private void _btnRun_Click( object sender, System.EventArgs e )  {  RunTask( Convert.ToInt32( _txtSecond.Value ) );  }

C#多線程控制進度條之長異步操作遇到的問題:回想上面剛才問題發生的原因,直到 RunTask 執行完成后返回,Click 處理函數始終不能夠返回,這就意味著用戶界面不能處理重畫事件或其他任何事件。一個解決方法就是創建另外一個線程,代碼片斷如下:

using System.Threading;   private int _seconds;   // 執行任務工作線程進入點,C#多線程控制進度條之長異步操作  void RunTaskThreadStart()  {  RunTask( _seconds );  }   // 通過創建工作線程消除用戶界面線程的阻塞問題  private void _btnRun_Click( object sender, System.EventArgs e )  {  _seconds = Convert.ToInt32( _txtSecond.Value );   Thread runTaskThread = new Thread( new ThreadStart( RunTaskThreadStart ) );   runTaskThread.Start();  } //C#多線程控制進度條之長異步操作

現在,我們不再需要等待 RunTask 執行完成才能夠從 Click 事件返回,我們創建了新的工作線程并讓它開始工作、運行。

C#中怎么實現長異步操作

C#多線程控制進度條之長異步操作圖

runTaskThread.Start(); 將我們新創建的工作線程調度執行并立即返回,允許我們的用戶界面線程重新獲得控制權執行它自己的工作。現在如果用戶再切換應用程序,因為工作線程在自己的 空間執行長任務,用戶界面線程被解放出來處理包括用戶界面重畫的各種事件,我們上面遇到的問題就解決了。

上述內容就是C#中怎么實現長異步操作,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东城区| 张家口市| 铅山县| 宜城市| 芜湖市| 和静县| 左权县| 卢湾区| 武夷山市| 陆丰市| 枣阳市| 宁晋县| 肃北| 咸阳市| 米泉市| 红原县| 韩城市| 梅州市| 本溪市| 黔南| 南安市| 资讯| 靖江市| 临沧市| 梅河口市| 黄陵县| 张家港市| 河池市| 德昌县| 库尔勒市| 凌源市| 宿松县| 元朗区| 武夷山市| 石楼县| 福安市| 衢州市| 永新县| 兰溪市| 汉沽区| 砚山县|