上在一分钟C#项目工作 - 的什么,我试图做的是一个总体思路...C# - 多个生产者线程与单个消费者线程
用户有符号的一个或多个组合,他们感兴趣, 每个组合将符号数据下载到csv,解析它,然后运行一组关于数据的规则, 根据这些规则的结果生成警报 组合应该下载数据等,每当设置的时间间隔已经过去了
我打算让每个投资组合都运行在它自己的线程上,那样当间隔已经过去时,每个portfo lio可以继续下载数据,同时解析和运行规则,而不是一个接一个。警报应该被推送到另一个包含警报队列的线程(!)。当它收到警报时,会将它们发送给客户端。
有点多,但是用C#去解决这个问题的最好方法是什么? - 使用线程,或者像后台工作者一样,只需在单独的线程上运行警报队列?
任何意见是非常赞赏,新的一些这方面的东西,以便随时告诉我,如果我完全错了:)
是的,我正在看,或ConcurrentQueue持有警报消息 - 我猜这将运行在一个新的线程,每个组合将运行在它自己的线程以及只包含一个指向队列的指针? – KingTravisG
可能有更多的OO-ish使用一个将alert作为参数的抽象方法来创建'SendAlerts'类。然后,您可以对其进行子类化,以将BlockingCollection和线程实现为私有成员。这很好地封装了客户端的警报,并允许您在稍后必要时轻松更改它。 –