分类: C/C++
2009-04-20 17:42:51
点击下载此文件1.1,问题的引入
Mobile资源有限,这都是大家所共知的,当我们使用Mobile访问远程Web服务的时候,如果返回数据量很大,或者出现网络不好的情况,就会出现,界面卡壳的情况。当然,作为开发人员,我相信,我们会做得更好,使用异步调用。
2.1,多种异步方式
我们都知道异步实现,一般就两种方式,另辟线程和异步委托(其实异步委托就是另辟线程,只是系统在幕后,帮我们做了这些事情,至于为什么?下面会讲到)
2.1.1,另辟线程方式
图1.1
图1.1中,通过开辟多线程,使用他的回调方法来异步更新界面。
2.1.2,异步委托方式
图1.2
图1.2中,通过构造一个异步委托对象来传递我们的消息。
3.1,共同之处
虽然处理方式不同,当消息都是从UI线程之外的线程中获取的,然后通过Control的Invoke方法来实现跨线程间的通信。其实我们看看这句话this.textBox1.Invoke(new EventHandler(WorkerUpdate)),很明显,是通过在UI线程上挂一个委托,来实现消息传递的。
4.1,范例代码 点击下载
点击下载此文件1
http://www.cnblogs.com/wmj/archive/2008/12/18/1357540.html