问题标签 [parallel.for]
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.
c# - 优化嵌套循环c#
我正在尝试优化以下代码和平 - 有多次迭代会消耗大量时间。查看了 Parallel.For 示例,但不明白如何在我的情况下使用它们,因为我在每个“for”循环中都有“double”变量。你能帮忙吗?谢谢
c# - 使用并行和任务的多图像处理
我正在编写一个提供端到端图像处理系统的 C# windows 窗体应用程序。该系统由许多图像处理块(即缩放器、降噪等)组成,每个块都是用 C 编写的算法,我将它们中的每一个都构建到 DLL 中并从我的 C# 应用程序中调用它们.
我的系统是这样的:
目前,我正在使用的代码如下所示:
但我看到该应用程序需要很长时间才能完成几张图像。其实我不擅长C#,只是通过一些例子自学并行和任务。
我不知道我的代码在处理多个处理方面是否足够好,还是有更好的方法?所以我开始这个线程来寻求帮助/建议。
c# - 如何使用 CancellationToken 停止多个 Parallel.For 循环
我正在使用 C# 和 WPF 开发一个应用程序。我正在使用 3 个嵌套Parallel.For
循环,如下所示。当我Cancel()
获得令牌时,循环开始抛出ImportAbortedException
但是,我无法捕捉ImportAbortedException
. 我咳嗽的是AggregateException
我想要的是,停止所有的Parallel.For
s 并抓住ImportAbortedException
并做一些其他的事情。
这是代码。
c# - 使用并行时程序卡住
我对 C# 相当陌生,我制作了一个模拟乐透抽奖的简单程序。它采用第一个(随机)数字并计算赢得多少平局。这是波兰乐透,所以有 6 个号码可以匹配。
当程序以简单的 for 循环运行时,一切正常。但是有一个问题,当我使用 Parallel For 或任何其他多任务或多线程选项时。
首先是代码:
当我尝试使其成为 Parallel.For 时:
程序在某个时候卡住了。计数器达到〜3,000-40,000并且拒绝走得更远。
我尝试了什么:
- 使类成为结构
- 每约 1000 次迭代收集垃圾
- 使用线程池
- 使用任务运行
- 仅制作随机类程序成员(厌倦了使六类“更轻”)
但我一无所获。
我知道这对你们中的一些人来说可能是一件非常简单的事情,但是人们必须以某种方式学习;)我什至买了一本关于异步编程的书,以找出它为什么不起作用,但无法弄清楚。
c# - 操纵线程之间的切换
每秒多少次(多少次)parallel.for 在线程之间切换?我可以管理这个参数吗?我想了解它是如何在低级别工作的。
c# - 在循环中迭代大量数据并准备数据表的最佳方法是什么
我有需要转换为数据表的对象列表。
集合长度存在 20K 或更多。
当我尝试使用Parallel.for
then 迭代集合时,它只是挂断并且花费了太长时间。
任何人都可以建议将对象列表最佳转换为数据表的最佳方法吗?
c# - C# Parallel.For 不执行每一步
我一直在为目前按顺序运行的导入服务制作模型。然而,我的模型似乎表现出一个奇怪的问题,有时 for 循环中的一两个项目没有执行。
使用此代码,我经常发现批次永远不会完成,并且 batch.Processed = 999 或 998。
任何人都可以阐明我做错了什么。
提前致谢。
编辑:
要清楚存储库/批处理对象-我相信我当前的模型是线程安全的
这只是一个模型,因此我的存储库后面没有数据库或其他持久性。
另外,我不是在 i 的值上竞争我的批次,而是批次对象的 Processed 属性指示的循环的迭代次数(实际已经完成的工作)。
谢谢
解决方案:
我忘记了需要同步批次的更新。应该看起来像:
c# - c# 带有分钟延迟的并行 For 循环
我有一个非常简单的 for 循环,看起来像这样
DoSomething 函数大约需要 3 分钟来执行。我想编写一个 for 循环,每分钟调用 DoSomething() 而无需等待上一个调用完成。我试图做这样的事情:
但它不起作用,因为它首先调用然后休眠。颠倒这些步骤也意味着 DoSomething 方法调用 fire 在每次调用之间没有延迟。如何设置它以便每分钟都调用 DoSomething?
谢谢!
c# - 数组遍历:并行性能比非并行慢
在我的程序中,我想通过这个循环确定有多少个数字有 9 个数字,很多有 8 个数字,等等:
我像这样并行化循环:
但基准是:顺序:0.3834 并行:0.6864
为什么并行代码更慢?我的代码有问题吗?我的 CPU 是 AMD Phenom™ II X4。型号,955。
c# - 在c#中调整Parallel For的函数
我刚开始学习 c# 中的 Parallel.For(),我有一个函数可以做某事,但我不知道如何将它调整为 Parallel。任何人都可以给我看一个类似案例的例子吗?
更新:
更新:这是我的尝试,但出了点问题......