This chapter takes a look at improving your code's performance using multithreading and parallel programming. In this chapter, we will cover the following recipes:
Creating and aborting a low-priority background thread
Increasing maximum thread pool size
Creating multiple threads
Locking one thread until the contended resources are available
Invoking parallel calls to methods using
Parallel.Invoke
Using a parallel
foreach
loop to run multiple threadsCancelling a parallel
foreach
loopCatching errors in parallel
foreach
loopsDebugging multiple threads