Build Scalable Applications
Windows Server® 2008 provides new scalability enhancements that enable businesses to build, deploy, host, and manage even the most demanding applications. The businesses of today and tomorrow demand more scalability of their servers, and Windows Server 2008 delivers by providing developers new ways to control the concurrent processing behaviors of their applications.
The new Thread Pool API in Windows Server 2008 gives developers more control over how the worker threads execute asynchronous callbacks within their applications. By efficiently managing these callbacks and the creation of new threads, these enhancements provide a means to reduce the number of threads needed by an application.
The original thread pool has been completely re-architected in Windows Server 2008 and Windows Vista®. The new thread pool is improved because it provides a single worker thread type supporting both I/O and non-I/O. It does not use a timer thread, but instead provides a dedicated persistent thread and a single timer queue. It also provides clean-up groups, higher performance, multiple pools per process that are scheduled independently, and a new thread-pool API.
The Thread Ordering Service in Windows Server 2008 controls the execution of one or more client threads. Each client thread belongs to a thread ordering group. The Thread Ordering Service ensures that each thread in a thread ordering group runs once during the specified period and in a specific order.
Wait Chain Traversal (WCT) in Windows Server 2008 enables debuggers to diagnose application hangs and deadlocks. A wait chain is an alternating sequence of threads and synchronization objects. Each thread waits for the object that follows it, which is owned by the subsequent thread in the chain. A thread waits for a synchronization object from the time it requests it until it acquires it. Wait chain traversal allows debuggers to determine which threads are blocked and what they are waiting for.