VB.NET并行与分布式编程(6)-线程与内核同步[11]
上面的代码中,?我们使用IAsyncResult的IsCompleted属性完成上节代码类似的功能,轮询工作线程,如果工作线程没有完成,则IsCompleted为False,则主线程继续自己的工作,输出一个点,同时再休眠10秒
???? While Not myasyncresult.IsCompleted
??????????? Console.Write(".")
??????????? Thread.Sleep(10)
??????? End While?
??
前面几个异步调用的例子,我们都在主线程对计算结果进行输出,我们下面把输出计算结果的工作移到回调方法中,启动异步调用,我们可以传递一个回调函数做为参数给BeginInvoke,由回调函数对工作线程,即被调用的线程的结果进行处理,主线程不再处理。
有几个小知识点
a)IAsyncResult.AsyncState 属性
?
?
?