- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个对象列表,每个对象上都有一个 bool ShouldRun() 方法。
我目前正在遍历对象列表,检查每个对象的 ShouldRun(),并在第一个对象上调用 Run() 以返回 true
foreach (child in Children)
{
if (child.ShouldRun())
{
child.Run();
phá vỡ;
}
}
我想并行执行此操作,因为评估 shouldRun 可能会花费相当多的时间,并且让集合中后面的元素尽早开始评估是有利的。
但是,我想不出满足这些条件的方法:
1 只运行一项
2 如果较早的项目为真或尚未完成评估,则不要运行较晚的项目
3 如果所有“较早”的项都返回 false,并且中间项返回 true,请不要等待较晚的项完成评估,因为您知道它无法覆盖较早的任何内容。
我想做一个并行的“where”linq 查询来检索 shouldRun() 的所有项目然后排序,但这将违反条件 #3
想法?
背景信息:
该系统用于通用机器人 AI 系统。
一些更高优先级的任务可以由立即已知的传感器变量触发,例如:我摔倒了,修理它!
其他任务可能是计算密集型的(从相机进行图像识别,并接近可见目标)
其他任务可能是数据库或远程驱动的(从数据库中查找可能的目标位置列表,然后导航到那里以查看您是否可以进入其中一个的可见范围)
一些任务本身有子任务,本质上是在任务的子集上递归地开始这个过程,孙任务将通过链向上传递
câu trả lời hay nhất
我不是 PLINQ 天才,但这个更简单的答案还不够吗?
var childToRun = Children.AsParallel().AsOrdered()
.Where(x => x.ShouldRun()).FirstOrDefault();
childToRun.Run();
关于c# - 高效的 foreach child 并行评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3125692/
这是一个假设性问题。如果我有来自 3 个单独的 sql db 查询的 3 个数组,这些查询都与另一个数组相关。例如…… //db schools id | school_name classes id
在我的应用程序中,我使用 scrape(string url) 方法从网页中抓取链接。可以说它每次都返回我 10 个 url。 我想从每个抓取的 url 中抓取 10 个链接。 长话短说: (第 1
我的java7代码: final Map result = new HashMap<>(); final Set> classes = getClasses(co.glue()); for (fina
是否可以在 SwiftUI 中设置变量,例如在这样的 ForEach 中: struct ContentView: View { var test: Int var body: som
Loại chỉ mục vòng lặp ưa thích khi sử dụng foreach trong D, int, uint là gì? Hay nó chỉ được triển khai tự động bằng cách bỏ qua loại này? Câu trả lời hay nhất Nói chung, chỉ mục phải là size_t. Tương tự như chiều dài. Nếu bạn cố gắng sử dụng int hoặc ui
根据 http://dlang.org/statement.html 的“Foreach 限制”部分以下代码 int[] a; int[] b; foreach (int i; a) { a
在什么情况下我们应该在 JDK 8 中使用旧的 foreach 循环遍历新的 collection.forEach() 还是最好的做法是转换 every foreach 循环?是否存在任何重要的性能差
获得类似东西的惯用方法是什么? ((fn [coll] (function-body)) [:a :b :c :d]) -> [[:a :b][:a :c][:a :d][:b :c][:b :d][
我正在创建一个基于 who is it? 的 Java 应用程序。现在我正在制作一种方法,在回答问题时我需要其他卡片。 我有两个列表: 列表是一个 ImageView 列表,其中我有卡片必须代表的 2
我希望有人能在我发疯之前帮助我。 我有 3 张 table : Table A SELECT companypk, companyname, logo, msscope FROM global_com
我正在尝试将多个字符串添加到 C# 中的 MailAddress。 如果我使用ForEach,我的代码会是这样 foreach (var item in GetPeopleList()
我没有太多的 C# 经验,所以如果有人能指出正确的方向,我将不胜感激。我有一个引用对象变量的 foreach 循环。我希望在主循环中创建另一个 foreach 循环,将当前变量与对象数组中的其余变量进
下面的代码每 60 秒删除文件夹“Images”中的文件,它可以工作,但是当文件夹为空时它会显示:警告:为 foreach() 提供的参数无效如果没有文件,如何解决这个问题,说“文件夹为空而不是那个警
我需要在两种不同的模式下运行,因此“if”(第二个稍后构建一个大的 csv) 下面对于单个实例运行正常,但在第二个 (*) 的加载时间上失败,因为在前 7k 行中的每一行上运行。 我想避免可怕的事情
我们可以使用以下两种方法实现类数组对象的迭代: let arrayLike = document.getElementsByClassName('dummy'); [].forEach.call(ar
我有这个代码 ... 它说: Attribute value invalid for tag forEach according to TLD 最佳答案 forEach标签不支持 valu
我在 SwiftUI 中有一个像这样的 ForEach: ForEach(entries) { (e: MyType) in NavigationLinkItem(entry: e) } 现在我
我无法在一个 Foreach 或 Foreach-Object 循环中使用多个命令 我的情况是—— 我有很多文本文件,大约 100 个。 所以他们被阅读 Get-ChildItem $FilePath
我必须从 json 文件(实际上是 2 个 json 文件)执行 ForEach,因此我执行 2 forEach,代码是 table { font-family: arial, sans-
我对编程很陌生,当我执行 forEach 函数时,我的应用程序返回错误。我的controller.js中有以下代码 $scope.ajaxRequest = A.Game.get({action: '
Tôi là một lập trình viên xuất sắc, rất giỏi!