新聞中心
C#多線程控制進度條之異步調(diào)用是如何實現(xiàn)的呢?現(xiàn)在讓我們看看具體的步驟和實現(xiàn):

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供泰興網(wǎng)站建設、泰興做網(wǎng)站、泰興網(wǎng)站設計、泰興網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、泰興企業(yè)網(wǎng)站模板建站服務,十多年泰興做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
在上面的代碼中,我們注意到,我們沒有給工作線程進入點(RunTaskThreadStart)傳遞任何參數(shù),我們采用聲明一個窗體類的字段 _seconds 來給工作線程傳遞參數(shù)。在某種應用場合不能夠給工作線程直接傳遞參數(shù)也是一件非常痛苦的事情。
C#多線程控制進度條之異步調(diào)用的必要性:如何改進呢?我們可以使用委托來進行異步調(diào)用。委托是支持傳遞參數(shù)的。這樣,就消除了我們剛才的問題,使我們能夠消除額外的字段聲明和額外的工作線程函數(shù)。
如果你不熟悉委托,你可以簡單的把它理解為安全的函數(shù)指針。采用了委托異步調(diào)用,代碼片斷如下:
- // 執(zhí)行任務的委托聲明
- delegate void RunTaskDelegate( int seconds );
- // 通過創(chuàng)建委托解決傳遞參數(shù)問題
- private void _btnRun_Click(
- object sender, System.EventArgs e )
- { //C#多線程控制進度條之異步調(diào)用
- RunTaskDelegate runTask =
- new RunTaskDelegate( RunTask );
- // 委托同步調(diào)用方式
- runTask( Convert.ToInt16( _txtSecond.Value ) );
- }
- //通過創(chuàng)建委托解決傳遞參數(shù)問題,
- //通過委托的異步調(diào)用消除用戶界面線程的阻塞問題
- private void _btnRun_Click(
- object sender, System.EventArgs e )
- {
- RunTaskDelegate runTask =
- new RunTaskDelegate( RunTask );
- // 委托異步調(diào)用方式 ,C#多線程控制進度條之異步調(diào)用
- runTask.BeginInvoke(
- Convert.ToInt16( _txtSecond.Value ), null, null );
- }
C#多線程控制進度條之異步調(diào)用的基本內(nèi)容就向你介紹到這里,希望對你了解和學習C#多線程控制進度條之異步調(diào)用有所幫助。
【編輯推薦】
- C#進度條實現(xiàn)實例
- C#進度條之控制臺顯示淺析
- C# WinForm進度條實現(xiàn)淺析
- C#多線程控制進度條之長任務操作
- C#多線程控制進度條之長異步操作
網(wǎng)頁題目:C#多線程控制進度條之異步調(diào)用
路徑分享:http://m.5511xx.com/article/cdjhdps.html


咨詢
建站咨詢
