如何将值从一个线程传递到另一个线程[英] How to pass a value from one thread to another thread

本文是小编为大家收集整理的关于如何将值从一个线程传递到另一个线程的处理方法,想解了如何将值从一个线程传递到另一个线程的问题怎么解决?如何将值从一个线程传递到另一个线程问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我们现在必须线程并行运行如何将值从一个线程传递到另一个线程.请帮帮我.

解决方案
可以有很多线程间同步和传递数据的不同场景.最广泛使用的模式之一是使用数据队列,特别是阻塞队列;阻塞使期望数据的线程与从其他线程提供的数据的可用性同步.它的一个有趣的变体是使用委托实例,因此一个线程可以传递带有所有必需参数(重要的是,包括"this")的整个方法,以便在另一个线程上执行.

这将创建一个类似于 UI 线程调用机制的机制(为 System.Windows.Forms 和带有 System.Windows.Forms.Control.Invoke (BeginInvoke) 或 System.Windows.Threading.Dispatcher 的 WPF 实现).但是——注意!— 此类调用仅适用于通过相应 UI 库的 UI 线程;对于任意线程,开发人员可以创建类似的机制,我在下面引用的文章中进行了演示.

更多详细信息,请参阅我的文章完整的源代码和使用示例:
用于线程通信和线程间调用的简单阻塞队列[^].

另请参阅适用于 .NET Framework 4.0 及更高版本的本文的替代解决方案.

—SA

这可能会有所帮助:
线程间通信库[^]

本文地址:https://www.itbaoku.cn/post/1355865.html