When building client-side applications, users expect the applications to be responsive and to deliver information quickly in order to increase user satisfaction especially in this competitive environment. And, when building web sites & services, clients expect immediate response. In order to accommodate these clients, companies have been purchasing new hardware and employee IT personal to maintain this hardware. However, many companies can cut costs significantly by architecting software to better leverage their existing hardware and, in fact, reduce the number of machines they currently have in use.
This is particularly true in this day and age when hardware manufacturers are producing multi-core CPU machines providing software developers with phenomenal computing power. This seminar shows software project managers, architects, developers, and testers how to increase the performance, scalability, reliability, and responsiveness of client and server applications by effectively using threads to leverage today’s multi-process machines.
In this two-day course, we'll discuss thread basics, overhead, priorities, the CLR’s thread pool, how to perform asynchronous compute-bound and I/O-bound operations. We’ll also talk about language features that simplify asynchronous programming models. We’ll next focus on primitive and hybrid thread synchronization constructs. All demonstrations and sample code are in C# but the concepts apply to any .NET language including Visual Basic.
Note: This class now includes coverage of the new .NET 4.0 features including Tasks, Cancellation, Coordination Data Structures, and more.