2008年3月1日
摘要: 最近看了看.NET异步调用方面的资料,现择重点总结,若有纰漏敬请指正。 异步调用的实质: 异步调用通过委托将所需调用的方法置于一个新线程上运行,从而能够使一个可能需要较长时间的任务在后台执行而不影响调用方的其他行为。 异步调用的实现: 前面已经讲道,异步调用通过委托实现。委托支持同步和异步调用。在同步调用中,一个委托的实例可记录多个目标方法;在异步调用中,一个委托实例中有且只能... 阅读全文
posted @ 2008-03-01 15:39 shawnliu 阅读(305) 评论(0) 推荐(0) 编辑
摘要: BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: public delegate void treeinvoke(); private void UpdateTreeView() { MessageBox.Show(System.Threading.Thread.CurrentThread.Name); } private void button1_... 阅读全文
posted @ 2008-03-01 15:37 shawnliu 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 如果你想为一个线程传入变量你怎么办? ThreadStart可不支持带参数的方法.所以你无法使用Thread来启动一个带参数的方法.. ThreadStart myThreadDelegate = new ThreadStart(ThreadMethod); //public delegate void ThreadStart(); u can't pass a Paramete... 阅读全文
posted @ 2008-03-01 15:24 shawnliu 阅读(346) 评论(0) 推荐(0) 编辑
摘要: class Program { // 委托原型 public delegate int DelegateHandler(int i); // 目标方法 static int Test(int i) { Console.WriteLine("Async Thread:{0}", Thread.CurrentThread.ManagedThre... 阅读全文
posted @ 2008-03-01 15:05 shawnliu 阅读(216) 评论(0) 推荐(0) 编辑