Thread pools, OpenMP, and Grand Central Dispatch are just a few of many
emerging technologies for managing multithreaded applications. Other commercial
approaches include parallel and concurrent libraries, such as Intel’s
Threading Building Blocks (TBB) and several products fromMicrosoft. The Java
language and API have seen significant movement toward supporting concurrent
programming as well. A notable example is the java.util.concurrent
package, which supports implicit thread creation and management.