<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    用回調方法檢索數據
    下面的示例演示了一個從線程中檢索數據的回調方法。包含數據和線程方法的類的構造函數也接受代表回調方法的委托;
    在線程方法結束前,它調用該回調委托。
    */
    using System;
    using System.Threading;

    //被實例化的類,用于傳遞參數進行操作
    public class ThreadWithState 
    {
        
    private string boilerplate;
        
    private int value;
        
    //定義一個回調函數
        private ExampleCallback callback;

        
    //接收線程傳遞的參數
        public ThreadWithState(string text, int number, ExampleCallback callbackDelegate) 
        
    {
            boilerplate 
    = text;
            value 
    = number;
            callback 
    = callbackDelegate;
        }


        
    public void ThreadProc() 
        
    {
            Console.WriteLine(boilerplate, value);
            
    //判斷是否執(zhí)行回調函數、并把參數傳遞給回調函數
            if (callback != null)
                callback(
    1);
        }

    }


    //聲明一個回調函數:注意傳遞的參數要與Example類中的函數參數類型一致
    public delegate void ExampleCallback(int lineCount);

    //事例主類
    public class Example 
    {
        
    public static void Main() 
        
    {
            
    //實例化ThreadWithState,并傳遞參數,注意:new ExampleCallback(ResultCallback)的命名空間引用,及其傳遞的參數(ResultCallback函數)
            ThreadWithState tws = new ThreadWithState("This number {0}."42new ExampleCallback(ResultCallback));

            Thread t 
    = new Thread(new ThreadStart(tws.ThreadProc));
            t.Start();
            Console.WriteLine(
    "線程開始執(zhí)行");
            
    //此為判斷線程是否執(zhí)行結束,但不建議阻塞線程,這樣線程就會等待完成后再進行其他操作
            
    //可利用:t.IsAlive是否處于執(zhí)行狀態(tài)來判斷線程
            t.Join();
            Console.WriteLine(
    "線程執(zhí)行結束");  
        }


        
    //回調處理函數,應與ExampleCallback的參數類型應一致
        public static void ResultCallback(int lineCount) 
        
    {
            Console.WriteLine(
    "printed {0} lines.", lineCount);  
        }

    }



    /*向線程傳遞數據
    ThreadStart 委托既沒有參數也沒有返回值。這意味著不可以使用需要參數的方法啟動線程,或從方法中獲得返回值。 

    為向線程傳遞數據,需要創(chuàng)建一個用來保持數據和線程方法的對象,如下面的兩個代碼示例所示。 
    為檢索線程方法的結果,您可以使用回調方法,如第二個代碼示例中所示。 
    */

    using System;
    using System.Threading;

    //被實例化的類,用于傳遞參數進行操作
    public class ThreadWithState 
    {
        
    private string boilerplate;
        
    private int value;

        
    public ThreadWithState(string text, int number) 
        
    {
            boilerplate 
    = text;
            value 
    = number;
        }

               
        
    public void ThreadProc() 
        
    {
            Console.WriteLine(boilerplate, value); 
        }

    }


    //創(chuàng)建線程調用ThreadWithState
    public class Example 
    {
        
    public static void Main() 
        
    {
            
    //實例化類ThreadWithState,利用構造函數向線程傳遞參數
            ThreadWithState tws = new ThreadWithState("This number {0}."42);
            
    //創(chuàng)建線程并執(zhí)行ThreadWithState類中的ThreadProc函數
            Thread t = new Thread(new ThreadStart(tws.ThreadProc));
            t.Start();
            Console.WriteLine(
    "線程開始執(zhí)行");
            
    //此為判斷線程是否執(zhí)行結束,但不建議阻塞線程,這樣線程就會等待完成后再進行其他操作
            
    //可利用:t.IsAlive是否處于執(zhí)行狀態(tài)來判斷線程
            t.Join();
            Console.WriteLine(
    "線程執(zhí)行結束");  
        }

    }

    文章來源:http://www.cnblogs.com/wangdetian168/archive/2008/12/21/1359255.html
    posted on 2010-10-11 09:28 sanmao 閱讀(278) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费黄色一级毛片| 国产亚洲高清不卡在线观看| 永久免费观看黄网站| 亚洲中文字幕无码永久在线| 国产一区二区免费视频| 亚洲一区精品视频在线| 一级毛片直播亚洲| 亚洲欧洲免费视频| 亚洲Aⅴ在线无码播放毛片一线天| 亚洲视频在线免费| 99在线精品视频观看免费| 老湿机一区午夜精品免费福利| 久久国产亚洲电影天堂| 两个人的视频高清在线观看免费 | 最新国产成人亚洲精品影院| 免费日本黄色网址| 2019中文字幕免费电影在线播放| 边摸边脱吃奶边高潮视频免费| 亚洲人成在线影院| 免费少妇a级毛片| 足恋玩丝袜脚视频免费网站| 一本大道一卡二大卡三卡免费| 亚洲AV无码专区在线亚| 亚洲综合国产一区二区三区| 免费黄色网址入口| 最近在线2018视频免费观看| 一个人免费观看www视频| 国产成人精品日本亚洲网址| 亚洲AV永久精品爱情岛论坛| 在线观看国产情趣免费视频| 最近中文字幕免费2019| 九九热久久免费视频| 亚洲A∨精品一区二区三区下载| 久久久亚洲AV波多野结衣| 超清首页国产亚洲丝袜| 午夜视频在线观看免费完整版| 99久久99久久精品免费观看| 99久久免费国产精精品| 精品成人一区二区三区免费视频 | 亚洲色精品VR一区区三区| 无码专区—VA亚洲V天堂|