O'Reilly logo

Programming .NET Components, 2nd Edition by Juval Lowy

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 8. Multithreading and Concurrency Management

In a single-threaded application, all operations, regardless of type, duration, or priority, execute on a single thread. Such applications are simple to design and build. All operations are serialized; that is, the operations never run concurrently, but rather one at a time. However, there are many situations in which employing multiple threads of execution in your application will increase its performance, throughput, and scalability, as well as improving its responsiveness to users and clients. That said, multithreading is one of the most poorly understood and applied concepts of contemporary programming, and many developers tend to misuse the multithreading features and services available on their programming platforms.

This chapter begins with an explanation of .NET threads and shows you how to create and use them. You’ll also learn how to spawn and manage multiple threads, develop thread-safe components, and avoid some of the common pitfalls of multithreaded programming. The chapter then moves on to discuss how to use .NET to synchronize the operations of multiple threads and manage concurrent attempts to access components. The chapter ends by describing several useful .NET multithreading services, including thread pool, timers, and thread local storage.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required