考虑到延迟执行,我试图了解并行性如何使用 PLINQ 工作。这是一个简单的例子。
string[] words = { "believe", "receipt", "relief", "field" };
bool result = words.AsParallel().Any(w => w.Contains("ei"));
使用 LINQ,我希望执行达到“收据”值并返回 true,而不执行其余值的查询。
如果我们并行执行此操作,“relief”的评估可能在“receipt”的结果返回之前就开始了。但是一旦查询知道“receipt”会产生一个真实的结果,其他线程会立即让步吗?
就我而言,这很重要,因为“任何”测试可能非常昂贵,我想释放处理器以执行其他任务。