Unfortunately, other threads will not be issued immediately.
Once it Any()finds a valid item, the PLINQ scheduler will stop scheduling new threads to check for new items. Any existing delimiters will also receive a revocation request, which will prevent these sections from accessing Any()another element.
However, all threads that currently execute the lambda expression inside your method Any()will execute, as there is no way to know that another thread has succeeded. This will prevent new threads from being called in Any(), but will not undo all of them in "very expensive" deletes.
On a side note:
PLINQ, LINQ to Objects, . AsParallel() IEnumerable<T>, ParallelQuery<T> . PLINQ, , .
Edit:
- , CancellationToken. , PLINQ. , ThrowIfCancellationRequested() - CancellationToken IsCancellationRequested, " ", ...