C# 跨线程调用窗体控件

时间:2013.08.08 发布人:baizilan68

C# 跨线程调用窗体控件

已解决问题

谷歌baizilan68用户在2013.08.08提交了关于“r**4C# 跨线程调用窗体控件”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-14T06:31:23。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你是我的宝贝,你是我的花,谢谢你对我的帮助!

希望以下的回答,能够帮助你。

第1个回答

用户名:wswgfjj  

Read()函数性能太低了,阻塞了电子眼触况大固合少年粒倍加除负发函数,你需要转变下思路,使用异步队列来处理兴指当电子眼**与UI之间的同步。即:

DI_Tick把电子眼**存储tagReads[]存储到异步队列中

新建一个线程轮询异步队列,如果有数未某依引衡据则使用MethodIn系散voker跨线程绑定UI,之后从队列移除这部分**。

你现在的代码,电子眼收听函降伤一数DI_Tick是运行在UI跳线程的,这就造成了一旦UI线程忙碌,则你的放镇限华布电子眼收听就阻塞了,所以需要使用一个异步队列,力检创硫及防看甚把UI的更新和电子眼的**接收两部分工作隔离开来。