首页 新闻 会员 周边 捐助

C#中的Control.invoke可以看成是一个等待资源吗??

0
悬赏园豆:5 [已解决问题] 解决于 2020-05-08 09:42

如果多线程中,同时出现了Control.invoke,会不会造成线程的等待?或者阻塞??

😀明笔记的主页 😀明笔记 | 初学一级 | 园豆:13
提问于:2020-04-21 21:13
< >
分享
最佳答案
1

https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.invoke?view=netframework-4.8 这个是文档和例子
同步方式会调用Control.invoke会等待完成,真正的工作在Control所属的线程完成

收获园豆:5
2012 | 高人七级 |园豆:21445 | 2020-04-22 08:30

等待的时候,会造成线程阻塞嘛?

😀明笔记 | 园豆:13 (初学一级) | 2020-04-22 09:19

@😀明笔记: 会把,在多线程中这个是同步代码

猝不及防 | 园豆:2878 (老鸟四级) | 2020-04-22 11:01

@😀明笔记: invoke是同步方法,会阻塞等待。 异步可以使用beginInvoke

2012 | 园豆:21445 (高人七级) | 2020-04-23 08:10

@2012: 控件的异步beginInvoke只是代码上的异步的,执行上好像还是同步把?

😀明笔记 | 园豆:13 (初学一级) | 2020-04-23 10:03
其他回答(1)
0

个人总结:对委托的操作,是对UI线程的请求操作,对界面的操作(点击按钮,拖动界面)也属于对UI线程的操作。合理调控UI线程的操作时间,是人机交互的重要工作!

😀明笔记 | 园豆:13 (初学一级) | 2020-05-08 09:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册