You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Many personal computers and workstations have two or four cores (that is, CPUs) that enable multiple threads to be executed simultaneously. Computers in the near future are expected to have significantly more cores. To take advantage of the hardware of today and tomorrow, you can parallelize your code to distribute work across multiple processors. In the past, parallelization required low-level manipulation of threads and locks. [!INCLUDEvs_dev10_long] and the [!INCLUDEnet_v40_short] enhance support for parallel programming by providing a new runtime, new class library types, and new diagnostic tools. These features simplify parallel development so that you can write efficient, fine-grained, and scalable parallel code in a natural idiom without having to work directly with threads or the thread pool. The following illustration provides a high-level overview of the parallel programming architecture in the [!INCLUDEnet_v40_short].
Provides documentation for the xref:System.Threading.Tasks.Parallel?displayProperty=nameWithType class, which includes parallel versions of For and ForEach loops, and also for the xref:System.Threading.Tasks.Task?displayProperty=nameWithType class, which represents the preferred way to express asynchronous operations.
Provides links to documentation for Visual Studio debugger windows for tasks and parallel stacks, and the Concurrency Visualizer, which consists of a set of views in the [!INCLUDEvsprvsts] Profiler that you can use to debug and to tune the performance of parallel code.