cost 199 ms
使用 TPL 数据流启用等待和异常捕获 - Enabling Await and Exception Capture with TPL Dataflow

我使用 TPL 数据流设计了一个简单的 JobProcessor(我第一次使用它)。 我希望能够创建作业,并将它们调用并放置在优先队列(PriorityBufferBlock)中。 我的代码结构如下 在哪里 我有一个自定义版本的PriorityBufferBlock (取自PriorityBuffe ...

如何在 TPL 管道中“重新排队”消息? - How can I "requeue" messages in a TPL Pipeline?

我有一个处理传入请求的即发即弃 Web 服务。 该请求需要 go 通过单线程 TPL 管道与数据库交互的进程数。 如果任何进程失败,则应重试消息,但应将其放在该块队列的末尾。 换句话说,重试不应该由委托来处理; 它应该是 go 到行的后面(其重试计数器增加)。 TPL 是否内置了这种类型的功能, ...

Microsoft TPL 数据流库 | MaxDegreeOfParallelism 和 IO 绑定工作 - Microsoft TPL Dataflow Library | MaxDegreeOfParallelism and IO-bound work

我的用例是这样的:向我们的应用程序服务器发送 100,000 多个 Web 请求并等待结果。 在这里,大部分延迟是 IO 绑定的,而不是 CPU 绑定的,所以我知道数据流库可能不是最好的工具。 我已经设法使用它会取得很大的成功,并将MaxDegreeOfParallelism设置为我相信服务器能够处 ...

如何实现排序缓冲区? - How to implement a sorted buffer?

我需要遍历一组不相交的文件夹; 每个文件夹都与文件夹中某处配置的访问时间相关联。 然后我对文件夹进行排序,首先处理访问时间最早的文件夹。 请注意,处理通常比遍历慢。 我的代码针对Framework4.8.1; 目前我的实现如下: 对于上面的内容,我担心while(_notComplete)部分,因 ...

自定义 TPL 块:如何测试 Consume、Release、Reserve - Custom TPL Block: how to test Consume, Release, Reserve

假设我想创建一个自定义的ISourceBlock<T> 。 从MSDN 滑动窗口示例中,我可以像这样开始构建自定义块: 问题是,由于ISourceBlock<T>接口的实现被转发到我的私有_source字段,链接块将不会直接调用SomeCustomBlock的Consume ...

具有动态 MaxDegreeOfParallelism 的自定义数据流转换块 - Custom Dataflow transform block with dynamic MaxDegreeOfParallelism

我收到一系列对象(例如ItemGroup[] ),每个对象都包含多个作业(例如Item[] )和最大并行度值,例如: ItemGroup实例序列必须按顺序处理,但每个ItemGroup的最大并行度可能高于 1。例如,管道将按顺序处理A*项组,然后并发处理B*项组: 我认为从IPropagatorB ...

如何使用多个 ActionBlock 并行化列表? - How to parallelize a list using multiple ActionBlocks?

我有一个大型文件夹结构,我正试图从共享驱动器下载。 共享驱动器很慢,但它也有几个镜像。 为了加快这个过程,我正在尝试制作一个小的下载器应用程序来管理与所有慢速镜像的并行连接。 单个文件将从不同的镜像下载。 我还希望能够限制一次连接到每个镜像的线程数。 (这已经存在了吗?那我就不用写任何代码了。不 ...

MaxDegreeOfParallelism 是尽力而为还是硬性限制? - Is MaxDegreeOfParallelism best effort or a hard limit?

只是想知道数据流库中的MaxDegreeOfParallelism设置。 我正在写一个单元测试来确保并行任务的数量不超过指定的数量,当我发现它确实有时会超过。 我的问题是:我在衡量它时做错了什么,还是设置只是限制并行性的“最佳尝试”?using System.Threading.Tasks.Dat ...

具有内在生命的 TPL 数据流块 - TPL Dataflow block with an inner life

我一直在做一些 TPL 数据流编码,并且对基础知识非常满意。 我的问题是,我将如何做一个 TPL 块,除了对其队列做出反应外,它还拥有自己的生命? 比如,一个在永久循环上运行的后台任务,每隔几秒钟轮询一次奇怪的 web 服务或数据库,并在它认为合适的时候在其输出上发出消息? 该接口将是源块和目标 ...

TPL 中的条件多个 LinkTo - Conditional multiple LinkTo in TPL

我有一个链接到多个动作块的缓冲区块: 效果是缓冲区块累积项目,一旦工人消费者可以接受更多项目,它就会得到它们(消费者一次设置为一个项目)。 像这样,我有 N 个工作线程,而它们都在同一个队列上工作。 到目前为止,一切都很好。 现在我有一个管道,其中有两个缓冲区块,每个缓冲区都有一定优先级的工作项: ...

TPL 数据流转换块并行发布到两个操作块 - TPL Dataflow Transform block post to two action block in parallel

我有一个 TPL 数据流,它只使用一个转换块,然后是一个动作块就可以正常工作。 我添加了一个新的动作块,与现有的动作块同时执行,但我的新动作块永远不会被击中。 没有抛出错误或异常。 我需要在代码中添加一个步骤吗? ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM