18. Multithreaded User InterfacesWindows Forms applications often need to support long-running operations, such as an intensive calculation or a call to a web service. In those cases, it's important to run the operation so that the application continues to interact with the user without freezing, while still allowing the user to see the progress of the operation and even to cancel it. Before we get started, I should mention that this chapter discusses the issues surrounding multithreaded user interfaces only. This simplifies the discussion and covers the information you need most of the time when handling long-running operations in a Windows Forms application. For more details about threading specifics in .NETincluding the details of the Thread class, thread pooling, locking, synchronization, race conditions, and deadlocksyou should turn to your favorite low-level .NET book. |