none
搞不懂线程是怎么回事,尤其是和委托混在一起 RRS feed

答案

  • 如果你仔细看Thread类的说明,确实Thread里边有委托存在的(ThreadStart),使用方法:

    Thread t = new Thread(new ThreadStart(ThreadProc));
    t.Start();

    但是和委托本质而言没有什么很大的关系,只是Thread需要一个系统定义的ThreadStart委托参数类型(ThreadProc必须是符合ThreadStart委托规则定义的函数)而已。

    2010年5月11日 9:07
    版主
  • 你好 正如Dong Wei版主所說 我可以給你舉個簡單的例子

    委託實際上是定義方法的簽名 就相當於是定義執行某個方法需要什麼參數 需要返回什麼

    這樣定以後好 就可以直接使用了 就無需考慮到底是哪個對象的方法 只要符合這個簽名定義就可以了 

    可能你是對委託不是很清楚 才讓你對這裡的多線程有了一定的迷惑 實際上這兩者之間沒有必然的聯繫

     


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    2010年5月11日 13:53
    版主

全部回复

  • 如果你仔细看Thread类的说明,确实Thread里边有委托存在的(ThreadStart),使用方法:

    Thread t = new Thread(new ThreadStart(ThreadProc));
    t.Start();

    但是和委托本质而言没有什么很大的关系,只是Thread需要一个系统定义的ThreadStart委托参数类型(ThreadProc必须是符合ThreadStart委托规则定义的函数)而已。

    2010年5月11日 9:07
    版主
  • 你好 正如Dong Wei版主所說 我可以給你舉個簡單的例子

    委託實際上是定義方法的簽名 就相當於是定義執行某個方法需要什麼參數 需要返回什麼

    這樣定以後好 就可以直接使用了 就無需考慮到底是哪個對象的方法 只要符合這個簽名定義就可以了 

    可能你是對委託不是很清楚 才讓你對這裡的多線程有了一定的迷惑 實際上這兩者之間沒有必然的聯繫

     


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    2010年5月11日 13:53
    版主
  • Raymond Tand 版主,您好,委托的定义其实不是很难,相当于一个函数指针,需要返回值类型和参数,我也会用委托,但是至于委托什么时候用,为什么要用它,既然它是指向一个函数的,我在用的时候,我直接调用函数就可以了,为什么还要用委托。可能是我做的程序比较少,所以不太理解这个地方,谢谢指教。

    2010年5月12日 1:37
  • 你好!

         委托的经典应用就是事件,事件机制就是使用委托实现的!

         在WinForm应用程序中在跨线程访问控件的时候,也需要使用委托!


    周雪峰
    2010年5月12日 14:37
    版主
  • Raymond Tand 版主,您好,委托的定义其实不是很难,相当于一个函数指针,需要返回值类型和参数,我也会用委托,但是至于委托什么时候用,为什么要用它,既然它是指向一个函数的,我在用的时候,我直接调用函数就可以了,为什么还要用委托。可能是我做的程序比较少,所以不太理解这个地方,谢谢指教。


    你好

    其实你说可以直接调用函数就可以了 这样是可以的 但是很多情况下你并不知道到底该调用哪个函数  所以要么你就把这些函数的共同特征抽象出来 然后直接调用抽象体就行了 而无需管具体是哪个函数 只要知道它接受什么参数 返回什么类型就行了


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    2010年5月13日 1:50
    版主