background image

23        }

24    }

 

1

  我们可以从图

1 看出,我们平常写的 Hello 程序是同一个线程的,而且不是线程池理的

线程程序。按照上面的程序稍做改动

, 那么开始我们第一个异步的 Hello World 程

序。

  使用

.Net 的委托机制来为我们的程序提供异步操作行为。

1 步, 为我们的 AsyncTest(Hello 方法) 声明一个委托

  

public delegate string AsyncEventHandler(string name);

  

2 步,使用委托提供的 BeginInvoke, EndInvoke 方法(具体使用下一篇文章详细介绍)

来提供异步的调用。

string val = test.Hello("Andy Huang");

修改为

AsyncEventHandler async = test.Hello;

    IAsyncResult result = async.BeginInvoke("Andy Huang", null, null);

    string val = async.EndInvoke(result);