从方法中将 BlockingCollection 作为 IEnumerable 返回
我试图从 BlockingCollection 支持的方法返回 IEnumerable。代码模式是: public IEnumerable Execute() { var results = new BlockingCollection(10)…
此异步代码转换为并行/TPL
我想知道如何将这种 Begin-End-Async 方法转换为较新的 TPL 语法: public override IAsyncResult BeginRegisterClaimant(ClaimantSex claimantSex, A…
Streamwriter、StringBuilder 和并行循环
抱歉,代码量很大,我无法用更少的内容解释这一点。基本上,我正在尝试将许多任务写入文件。 你们能告诉我我做错了什么吗? _streamWriter.WriteLine(…
何时使用 TaskEx.Run 与 TaskEx.RunEx
我试图了解何时使用 TaskEx.Run。我提供了下面编写的两个代码示例,它们产生相同的结果。我不明白的是为什么我会采用 Task.RunEx TaskEx.RunEx 方法,…
.Net TPL:具有任务优先级的有限并发级别任务调度程序?
我目前正在使用此处详细介绍的 LimitedConcurrencyLevelTaskScheduler http://msdn.microsoft.com/en -us/library/ee789351.aspx 我想增强这一点…
如何在 TPL 中使用 Parallel For 代替 While
我想在语句中使用并行 for 而不是 while 语句。当我查看仅具有已知或变量计数的样本 Parallel For 运行时。 但我不知道我的循环将运行多少次,并且无…
任务并行库中的日期格式问题
如果我调用此方法顺序, object[] ab = GetSomething(myObject); 我会得到这样的日期时间格式,这是可以的 知道我是否使用 tpl,调用此方法 Task t1 =…
ConcurrentBag是内存泄漏的原因吗?
可能的重复: ConcurrentBag 中可能存在内存泄漏? 我的应用程序中存在严重的内存泄漏。我在其中一种方法中添加到本地并发包集合中的所有数据从未被…
使用 TPL 将“Disposable”对象安全地传递到 UI 线程
我们最近采用 TPL 作为运行一些繁重后台任务的工具包。 这些任务通常会生成一个实现 IDisposable 的单个对象。这是因为它内部有一些操作系统句柄。 我…
在 IHttpAsyncHandler 中使用 Task 或 async/await
自从我开始编写 ASP.NET 应用程序时想要添加线程以来,我可以通过 3 种简单的方法在 ASP.NET 应用程序中实现线程化: 使用 System.Threading.ThreadPo…
C# 中的任务并行性 (TPL) 和任务调度
根据 Microsoft (链接),有两种方法可以启动任务:隐式和显式。 假设我在主线程中创建了 4 个不同的任务,称为任务 1、任务 2、任务 3 和任务 4。 cas…
ThreadPool.QueueUserWorkItem 与 Task.Factory.StartNew
下面 ThreadPool.QueueUserWorkItem 和 Task.Factory.StartNew 如果上面的代码对于某个长时间运行的任务被调用 500 次,是否意味着所有线程池线程都将…
为什么ContinueWhenAll 和ContinueWhenAny 具有不受支持的TaskContinuationOptions?
当我浏览 MSDN 和其他书籍上的文档时,我发现这两个函数都有一个接受 TaskContinuationOption 的重载。但他们可以根据这个声明抛出异常: 排除多个任…