Starting Threads
Starting threads with ThreadStart and ParameterizedThreadStart delegates
Basic Thread Demos
Creating threads, locking with Lock, Monitor, and Mutex locks, another illustration of lambda closure
Blocking Queue using Monitor
Thread-safe blocking queue using preferred method of synchronization with Monitor
BlockingCollection<T>
We won't use this and won't discuss
Queued Messages with BlockingQueue
Communication between threads by passing messages throught BlockingQueue.
Queued Messages with synchronized methods
C#, like Java, has synchronized methods. We won't use them in this class.
Wait For Event
Use interlocked to signal type of action, Monitor to wait for a keyboard event
Threads and Tasks
Creation and use of threads, several threads running concurrently, threads sharing data, creation and use of Tasks, Tasks with Continuations.
Tasks and Continuations
Task with no result, Task with no result and continuation, Task with result, Task with result and Continuation, Task taking lambda, Task using asynch - await
WPF Thread Demos
Compares use of Dispatcher.Invoke and Async Await pattern for concurrency with Windows.
WPF Dispatcher Invoke Demo
Illustrates use of Dispatcher to marshal call from child thread to main UI thread.
Threads-SMA-MTF15
Thread with enqueued tasks, asynchronous function with callback, asynchronous notifier, stoppable asynchronous function
Form's BackgroundWorker
.Net FormInvoke Demo
ThreadPool Demo