Рус Eng Cn 翻译此页面:
请选择您的语言来翻译文章


您可以关闭窗口不翻译
图书馆
你的个人资料

返回内容

软件系统和计算方法
正确的文章链接:

富客户端应用程序中的线程安全控制调用

Gibadullin Ruslan Farshatovich

ORCID: 0000-0001-9359-911X

博士学位 技术科学



420015, Russia, Republic of Tatarstan, Kazan, Bolshaya Krasnaya str., 55, office 432

rfgibadullin@kai.ru

DOI:

10.7256/2454-0714.2022.4.39029

EDN:

IAXOMA

评审日期

25-10-2022


出版日期

30-12-2022


注解: 在丰富的客户端应用程序中发布第一个版本.NET Framework时,有一个专注于消息处理周期的模板,其中使用内置队列从工作线程传输执行单元。 接下来,开发了一个广义的ISynchronizeInvoke解决方案,其中源线程可以将委托排队到接收器线程,并作为可选选项等待此委托的完成。 架构中引入异步页面支持后ASP.NET ISynchronizeInvoke模板不相似,因为异步ASP.NET 页面不映射到单个线程。 这是创建一个更通用的解决方案–SynchronizationContext的原因,这是研究的主题。 本文提供了如何在不违反用户应用程序的线程安全性的情况下从工作线程更新用户界面元素的实际示例。 在这方面,提出了解决方案:使用Beginlnvoke或Invoke方法对用户界面线程消息对此委托进行排队;通过SynchronizationContext类的Current属性捕获用户界面线程的同步上下文;使用过时的BackgroundWorker类, SynchronizationContext抽象类在平台中实现的特殊性并没有被忽略ASP.NET ... 关于使用封送机制的实用建议是在与集中服务器开发多客户端聊天的例子上形成的。


出版日期:

编程, 多线程, 视窗表格, Windows演示文稿基础, 通用Windows平台, 同步上下文, 代表们, NET框架, 并行编程, 设计模式