static void SamplePLinq_StopAndGo() {
Console.WriteLine("=== SamplePLinq_StopAndGo ===");
int[] data = LoadData(100000000);
var query =
from i in data.AsParallel()
where i % 12345678 == 0
select new { Value = i, ThreadID = Thread.CurrentThread.ManagedThreadId };

Stopwatch sw = Stopwatch.StartNew();
using (var e = query.GetEnumerator(false)) {
// Prvn voln metody MoveNext ek na proveden 
// celho dotazu. Po tomto voln se data vyhodnocuj 
// ze seznamu v pamti.
while (e.MoveNext()) {
Console.WriteLine("{0} - z vlkna s ThreadId={1}",
e.Current,
Thread.CurrentThread.ManagedThreadId);
}
}
long elapsed = sw.ElapsedMilliseconds;
Console.WriteLine("Spotebovan as: {0} milisekund", elapsed);
Console.WriteLine("CurrentThreadId: {0}",
	Thread.CurrentThread.ManagedThreadId);
}
