This appendix summarizes C# parallel programming techniques.
Code can directly interact with user interface elements if the code is running inside the thread that created those elements. For example, code executing in a separate thread cannot safely change the text displayed in a
To interact with the UI controls, a thread should follow these steps.
InvokeRequiredproperty for a control that was created in the UI thread.
true, the thread should call the control’s
Invokemethod, passing it a delegate.
Parallel LINQ (PLINQ pronounced “plink”) allows a program to execute LINQ queries across multiple processors or cores in a multi-core system. Simply add a call to the
AsParallel extension method to the enumerable object from which the query selects data.
The following code uses a PLINQ query to select the even numbers in the array
numbers. The call to
AsParallel is highlighted in bold.
var evens = from int number in numbers.AsParallel() where number % 2 == 0 select number; foreach (int number in evens) Console.WriteLine(number);
This code composes the query and includes the call to
AsParallel. It then loops through the query’s results and displays them.
BackgroundWorker component provides a relatively ...