首页 > TAG信息列表 > tpl-dataflow

CodeGo.net>如何在Windows服务内实现一个连续的生产者-消费者模式

这是我想做的事情: >在需要处理的项目的内存中保持队列(即IsProcessed = 0) >每5秒从db中获取未处理的项目,如果它们尚未在队列中,则添加它们>从队列中连续提取项目,进行处理,并且每次处理项目时,都在db中对其进行更新(IsProcessed = 1)>做到“尽可能平行” 我有一个服务的构造函数,

c# – 用于将单个结果与多个其他结果连接的数据块

在我的应用程序中,我想要使用替换值字典来连接多个字符串. readTemplateBlock被FileInfos提供并将其内容作为字符串返回. getReplacersBlock使用单个替换词典获取(一次).joinTemplateAndReplacersBlock应该将readTemplateBlock的每个项目与一个getReplacersBlock结果连接起来. 在我

c# – EventSourceException:操作系统中没有可用的免费缓冲区

完整的例外文本是: EventSourceException: No Free Buffers available from the operating system (e.g. event rate too fast). 由于递归,我称这种方法大约一百万次.它没有停止,我只是在VS2013的Output Debug windown中得到异常文本.但它超级慢. private static IEnumerable

c# – 使用AsObservable观察TPL数据流块而不消耗消息

我有一系列TPL Dataflow块,希望观察系统内部的某些进展. 我知道我可以将TransformBlock堵塞到我想要观察的网格中,让它发布到某种程度的进度更新程序,然后将消息保持不变到下一个块.我不喜欢这个解决方案,因为块的纯粹是因为它的副作用,我还必须在任何我想要观察的地方改变块链接逻

c# – 使用线程和EventWaitHandle的生产者/消费者模式

我想这是一种代码审查,但这是我对生产者/消费者模式的实现.我想知道的是,在某种情况下,ReceivingThread()或SendingThread()方法中的while循环可能会停止执行.请注意EnqueueSend(DataSendEnqeueInfo信息)是从多个不同的线程调用的,我可能不能在这里使用任务,因为我必须在一个单独的

c# – 使用反应式编程写入打开FileStream

我正在编写一个小的记录器,我想打开一次日志文件,在日志消息到达时继续写入,并在程序终止时处理所有内容. 我不确定如何保持FileStream打开并在消息到达时反应性地写入消息. 我想从我之前的解决方案更新设计,其中我有一个ConcurrentQueue充当缓冲区,并且在使用队列的using语句中有