我是 C# 中事件处理和线程的新手,所以如果这个问题是基本的,请原谅我:如何创建多个类以在不同的线程上运行,所有类都在监听同一个事件?
例如,我经常收到一条新数据,但时间间隔是随机的。当这个数据到达时,我用新数据更新一个类,我们称之为它MyDataClass
,它会引发一个事件:MyDataClass.NewEvent
。
然后我有一个名为NewEventHandler
. 当一个事件触发时,这个类对新数据进行一些计算,然后将结果发送到另一个应用程序。
所以问题是这样的:我需要大约 30 个实例来NewEventHandler
收听MyDataClass.NewEvent
(每个实例都进行不同的计算并产生不同的结果)。重要的是这些计算都同时运行 - 一旦事件触发所有 30 个NewEventHandler
开始计算实例。但是,它们是否一起完成并不重要(例如,这里不需要同步)。
我如何实际创建实例,NewEventHandler
以便它们在不同的线程上运行,并让它们都听一个实例MyDataClass.NewEvent
?