社区
下载资源悬赏专区
帖子详情
委托的异步调用 beginInvoke下载
weixin_39820835
2019-08-22 01:00:26
使用委托的异步调用
Winform应用程序
委托.BeginInvoke 将当前线程的消息转入后台线程
Form.BeginInvoke 可以将其他线程的消息转入界面线程
相关下载链接:
//download.csdn.net/download/p1g2c32006/5417605?utm_source=bbsseo
...全文
12
回复
打赏
收藏
委托的异步调用 beginInvoke下载
使用委托的异步调用 Winform应用程序 委托.BeginInvoke 将当前线程的消息转入后台线程 Form.BeginInvoke 可以将其他线程的消息转入界面线程 相关下载链接://download.csdn.net/download/p1g2c32006/5417605?utm_source=bbsseo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
委托
的
异步调用
be
gin
Invoke
使用
委托
的
异步调用
Winform应用程序
委托
.Be
gin
Invoke
将当前线程的消息转入后台线程 Form.Be
gin
Invoke
可以将其他线程的消息转入界面线程
异步调用
实例01-End
Invoke
-c#
直接调用End
Invoke
方法等待
异步调用
结束 异步执行方法的最简单的方式是通过调用
委托
的Be
gin
Invoke
方法来开始执行方法,在主线程上执行一些工作,然后调用
委托
的End
Invoke
方法。End
Invoke
可能会阻止调用线程,因为它直到
异步调用
完成之后才返回。这种技术非常适合于文件或网络操作,但是由于End
Invoke
会阻止它,所以不要从服务于用户界面的线程中调用它。 下面的代码说明了如何使用这种方法来进行
异步调用
,并获得异步方法的结果:
C#异步编程概述
Windows 应用程序编程中常见的一个模式就是,在GUI用户界面下,将耗时的文件和网络处理放入 子线程,以避免用户界面不能响应的问题。在.NET出现以前,创建线 程并监视线程结束,还要更新 界面等工作,即复杂又要手写大量代码,并且难以调试。在.NET中,程序员可以通过
异步调用
,使 用简单的代码完成这项工作。 .NET Framework允许
异步调用
任何方法。使用
异步调用
之前,要定义一个
委托
,它的方法签名要与 调用方法签名一致。.NET会自动产生此
委托
的Be
gin
Invoke
和End
Invoke
方法。 Be
gin
Invoke
方法用于启动
异步调用
。它除了具有调用方法相同的参数外,还附加了两个额外的参 数,这两个额外参数将用于回调方法。 Be
gin
Invoke
执行后立即返回,并不等待
异步调用
完成。 Be
gin
Invoke
返回一个IAsyncResult接口,它可以用于监视调用的进度。End
Invoke
方法被用来获取
异步调用
的结果。在 Be
gin
Invoke
执行以后,任何时间都可以调用End
Invoke
。如果
异步调用
尚未完 成,End
Invoke
会被阻塞,直到
异步调用
完成。End
Invoke
带有一个IAsyncResult接口类型的参数, 并返回一个IAsyncResult接口,用来获取调用结果。 本文中的代码演示了使用Be
gin
Invoke
和End
Invoke
进行
异步调用
的四种常见调用方式。在调用 Be
gin
Invoke
之后,您可以: 1.完成一些其它工作,然后调用End
Invoke
,等待
异步调用
完成。 2.使用IAsyncResult.AsyncWaitHandle获取一个WaitHandle,使用它的WaitOne方法执行阻塞调 用,完成后再调用End
Invoke
。 3.轮询Be
gin
Invoke
返回的IAsyncResult接口,在
异步调用
完成后,再调用End
Invoke
。 4.给Be
gin
Invoke
传递一个回调方法的
委托
,
异步调用
完成后,这个回调方法会在ThreadPool线程 上执行,可以在这个方法内调用End
Invoke
。 警告:
异步调用
完成后,必须调用End
Invoke
。
C#
异步调用
四大方法
C#
异步调用
四大方法是什么呢?C#
异步调用
四大方法的使用是如何进行的呢?让我们首先了解下什么时候用到C#
异步调用
: .NET Framework 允许您C#
异步调用
任何方法。定义与您需要调用的方法具有相同签名的
委托
;公共语言运行库将自动为该
委托
定义具有适当签名的 Be
gin
Invoke
和 End
Invoke
方法。 Be
gin
Invoke
方法用于启动C#
异步调用
。它与您需要异步执行的方法具有相同的参数,只不过还有两个额外的参数(将在稍后描述)。Be
gin
Invoke
立即返回,不等待C#
异步调用
完成。Be
gin
Invoke
返回 IasyncResult,可用于监视调用进度。
异步调用
04-执行回调方法-C#
如果启动
异步调用
的线程是不需要处理结果的线程,则可以在调用完成时执行回调方法。回调方法在线程池线程上执行。 若要使用回调方法,必须将引用回调方法的AsyncCallback
委托
传递给Be
gin
Invoke
。也可以传递包含回调方法将要使用的信息的对象。例如,可以传递启动调用时曾使用的
委托
,以便回调方法能够调用End
Invoke
方法。 下面的代码说明了如何使用这种方法来进行
异步调用
,并获得异步方法的结果:
下载资源悬赏专区
12,796
社区成员
12,334,544
社区内容
发帖
与我相关
我的任务
下载资源悬赏专区
CSDN 下载资源悬赏专区
复制链接
扫一扫
分享
社区描述
CSDN 下载资源悬赏专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章