问题标签 [parallel-extensions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb.net - 使用并行扩展和 VB.net 传递值
我正在寻找如何在 VB.net 中使用 Parallel Extensions 执行以下操作的示例。
我遇到困难的地方是如何将我的参数 InputValueforWork 传递给任务
欢迎任何建议和可能的编码示例。
安德鲁
.net - 为什么是 LazyInit仅限于引用类型
我有一个要使用的伪实时数据处理应用程序,LazyInit<double>
因此我不进行不需要的计算,而是LazyInit<T>
将 T 限制为类。我可以解决它,但我显然不希望这样做。
有人知道这是为什么吗?
c# - 并行扩展:帮助我理解 LazyInit
面向未来读者的更新:当 .NET 4 发布时,LazyInit<T>
CTP 将被重命名为Lazy<T>
并将从结构更改为类,因此几乎不会适用,除非作为可变结构可能存在问题的说明如果你不小心。
我一直在 Parallel Extensions June CTP 中尝试使用 LazyInit,我希望下面的代码会打印一千次相同的 Guid,但它会打印出一千个不同的 Guid。显然,我在这里遗漏了一些关于 LazyInit 应该如何工作的明显内容,如果有人能指出它是什么,我将不胜感激。
.net - 我可以使用 Microsoft Parallel Extensions to .NET Framework 3.5(2008 年 6 月社区技术预览版)开发生产代码吗?
是否有反对使用此 CTP 的建议?不稳定吗?
java - Java中等效的并行扩展
我有一些在 .Net 开发中使用并行扩展的经验,但我正在考虑用 Java 做一些工作,这将受益于一个易于使用的并行库。JVM 是否提供与并行扩展类似的工具?
.net - NUnit 测试 PLINQ 代码后如何防止 AppDomainUnloadedException?
如何诊断和最小化或预防AppDomainUnloadedException
?
NUnit 2.5.2AppDomainUnloadedException
在涉及 PLINQ 的长时间(>10 秒)测试后始终抛出异常。
早在 2008 年 7 月,Stephen Toub 说:
是的,CTP 中的调度程序不能很好地处理线程中止,当正在关闭的域中存在实时调度程序时,这经常会导致进程崩溃(因为 AppDomain 关闭会导致该域中具有堆栈帧的所有线程上的线程中止)。我们正在努力为未来的版本加强这一点。
我尝试了许多解决方法,包括:
- 以单独的方法运行测试以消除杂散引用
- 指定
/domain:None
为 NUUnit 参数 - 从中删除
legacyUnhandledAppDomainPolicy
元素nunit-console.exe.config
我不能降级 NUnit 以降低竞争条件的几率,因为我需要 PLINQ 来使我的参数测试更快。没有问题的 NUnit 版本不支持参数测试。
c# - 在 Parallel.ForEach 中使用哈希表?
我有一个 Parallel.ForEach 循环在体内运行密集操作。
该操作可以使用 Hashtable 来存储值,并且可以重复用于其他连续的循环项。我在密集操作完成后添加到Hashtable中,下一个循环项可以在Hashtable中查找并重用对象,而不是再次运行密集操作。
但是,因为我使用的是 Parallel.ForEach,所以存在一个不安全的问题,导致 Hashtable.Add 和 ContainsKey(key) 调用不同步,因为它们可能并行运行。引入锁可能会导致性能问题。
这是示例代码:
TPL 库中必须有一些 API,属性设置,可以处理这种情况。有没有?
.net - 如何使 PLINQ 在 .NET 4.0 beta 2 中产生更多并发线程?
在以前版本的 Parallel Extensions 中,您可以设置线程数:
但现在这种重载不再可用。现在怎么办?
c# - 为什么 TaskFactory.StartNew 方法不是通用的?
在 .NET 4.0 中使用 TPL 启动新的仅副作用任务(即:不返回结果的任务)的惯用方式是使用以下 API:
但是为什么这个 API 的签名不是这样的
或者像这样
技术原因还是其他原因?
c# - Parallel.ForEach 没有启动新线程
Parallel.ForEach 没有启动新线程
大家好,我们有一个非常 IO 密集型操作,我们使用 Microsoft 的 .NET Framework 的 Parallel Extensions 中的 Parallel.ForEach 编写。我们需要删除大量文件,我们将要删除的文件表示为列表的列表。每个嵌套列表中有 1000 条消息,我们有 50 个这样的列表。这里的问题是,当我之后查看日志时,我只看到一个线程在我们的 Parallel.ForEach 块内执行。
代码如下所示:
我用更简单的数据结构和没有 IO 逻辑编写了一些示例代码,我可以看到在 Parallel.ForEach 块中执行了几个不同的线程。我们在上面的代码中对 Parallel.ForEach 做了什么不正确的事情吗?可能是列表列表导致它出错,或者 IO 操作是否存在某种线程限制?