{"id":55952,"date":"2009-12-09T12:56:00","date_gmt":"2009-12-09T12:56:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/pfxteam\/2009\/12\/09\/a-tour-through-the-parallel-programming-samples-for-net-4\/"},"modified":"2009-12-09T12:56:00","modified_gmt":"2009-12-09T12:56:00","slug":"a-tour-through-the-parallel-programming-samples-for-net-4","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/a-tour-through-the-parallel-programming-samples-for-net-4\/","title":{"rendered":"A Tour Through the Parallel Programming Samples for .NET 4"},"content":{"rendered":"<p>On Code Gallery, we have a <a href=\"https:\/\/code.msdn.microsoft.com\/ParExtSamples\">plethora of samples<\/a> that highlight aspects of the .NET Framework 4 that help with writing scalable and efficient parallel applications.&#160; This post examines each of those samples, providing an overview of what each provides.<\/p>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"2\" width=\"525\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_2.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2.png\" width=\"147\" height=\"117\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>AcmePizza           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This simple and somewhat silly application demonstrates using concurrent collections with WPF.&#160; The collections are wrapped with observable facades, such that multiple threads may modify the collections concurrently, and those updates are safely propagated to UI controls.           <\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_2.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-1-1.png\" width=\"147\" height=\"118\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>Antisocial Robots           <br \/><strong>Languages:<\/strong> C#           <br \/><strong>Description:<\/strong> Demonstrates doing a computationally-intensive operation many times per second, as a bunch of \u201crobots\u201d try to get as far away from each other as possible.           <\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_4.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_1.png\" width=\"146\" height=\"100\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>BabyNames           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This is one of the first applications we ever built to use Parallel LINQ.&#160; Using LINQ and PLINQ, it queries a data set of baby name popularity information, sorts the results, and displays the results in a simplistic WPF user interface.           <\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_6.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_2.png\" width=\"147\" height=\"57\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>BlendImages           <br \/><strong>Languages:<\/strong> C#           <br \/><strong>Description:<\/strong> A demo of very simple image manipulation using a Parallel.For loop.&#160; The application allows the user to load up two images and blends them together into a single, new image.           <\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_10.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb_4-2.png\" width=\"145\" height=\"102\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>Boids          <br \/><strong>Languages:<\/strong> C#          <br \/><strong>Description:<\/strong> An implementation of a classic flocking algorithm, utilizing WPF for pretty 3D visualization of the \u201cboids\u201d, whose next positions and velocities are computing in parallel.          <\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_8.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_3.png\" width=\"146\" height=\"91\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>ComputePi           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> A console application that estimates the value of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Pi\">PI<\/a> using a variety of both serial and parallel implementations, the latter done with both PLINQ and the Parallel class.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_10.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb_4-2-1.png\" width=\"147\" height=\"149\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>DiningPhilosophers           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> A WPF application that demonstrates the classic \u201c<a href=\"http:\/\/en.wikipedia.org\/wiki\/Dining_philosophers\">Dining Philosophers<\/a>\u201d synchronization problem.&#160; The application implements several solutions, including one based on asynchronous techniques using Tasks.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_12.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb_5-2.png\" width=\"147\" height=\"78\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>EditDistance           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> A console application that uses Tasks to parallelize a dynamic programming problem, that of computing the \u201c<a href=\"http:\/\/en.wikipedia.org\/wiki\/Edit_distance\">edit distance<\/a>\u201d between two strings.           <\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_14.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_6.png\" width=\"148\" height=\"126\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>GameOfLife           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This application provides an implementation of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Conway%27s_Game_of_Life\">Conway\u2019s Game of Life<\/a>, using the Parallel class to parallelize the processing of the cellular automata.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_16.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_7.png\" width=\"148\" height=\"127\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>ImageColorizer           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This application manipulates an image by converting the majority of the image to grayscale, except for portions of the image containing user-selected hues.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_18.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb_8-1.png\" width=\"148\" height=\"112\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>LINQRayTracer           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> Based on <a href=\"https:\/\/blogs.msdn.com\/lukeh\/archive\/2007\/10\/01\/taking-linq-to-objects-to-extremes-a-fully-linqified-raytracer.aspx\">Luke Hoban<\/a>\u2019s LINQ implementation of a ray tracer, this application parallelizes a computationally intensive LINQ query using PLINQ.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_20.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_9.png\" width=\"148\" height=\"115\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>MandelbrotFractals           <br \/><strong>Languages:<\/strong> C#, C++\/CLI           <br \/><strong>Description:<\/strong> This application provides an implementation of the classic <a href=\"http:\/\/en.wikipedia.org\/wiki\/Mandelbrot_set\">Mandelbrot<\/a> fractal, parallelizing the processing of the fractal using the Parallel class.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_22.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_10.png\" width=\"148\" height=\"102\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>Morph           <br \/><strong>Languages:<\/strong> C#           <br \/><strong>Description:<\/strong> Implements a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Morphing\">morphing<\/a> algorithm between two images.&#160; Parallelization is done using the Parallel class.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_8.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb_3-1-1.png\" width=\"149\" height=\"119\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>NBodySimulation          <br \/><strong>Languages:<\/strong> C#, F#          <br \/><strong>Description:<\/strong> Implements a classic n-body simulation using C# and WPF for the UI and using F# for the core computation. Parallelism is achieved using the Parallel class.          <\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_24.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_11.png\" width=\"149\" height=\"108\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>NQueens           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This application implements a solution to the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Eight_queens_puzzle\">N-Queens<\/a> problem, using both LINQ and PLINQ.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_42.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_20.png\" width=\"149\" height=\"68\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>OptionPricing           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This Excel <a href=\"http:\/\/msdn.microsoft.com\/en-us\/vsto\/default.aspx\">VSTO<\/a> application utilizes PLINQ to price <a href=\"http:\/\/en.wikipedia.org\/wiki\/Asian_option\">Asian Options<\/a>.           <\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_26.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb_12-1.png\" width=\"148\" height=\"89\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>ParallelGrep           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This console application implements \u201c<a href=\"http:\/\/en.wikipedia.org\/wiki\/Grep\">grep<\/a>\u201d functionality across a file system using PLINQ.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_12.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb_5-2-1.png\" width=\"149\" height=\"77\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>PlinqKnobs          <br \/><strong>Languages:<\/strong> C#          <br \/><strong>Description:<\/strong> A simple console application that demonstrates some of the ways execution of a PLINQ query may be controlled and configured.          <\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_28.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_13.png\" width=\"148\" height=\"125\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>Raytracer           <br \/><strong>Languages:<\/strong> C#, Visual Basic, F#           <br \/><strong>Description:<\/strong> This Windows application provides an animated, ray-traced bouncing ball.&#160; Sequential and parallel implementations are provided, as is a special parallel implementation that colors the animated image based on which thread was used to calculate which regions.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_30.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_14.png\" width=\"149\" height=\"89\" \/><\/a><\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>ShakespeareanMonkeys           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This application implements and parallelizes a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Genetic_algorithm\">genetic algorithm<\/a> for breeding monkeys able to speak text from Hamlet.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_32.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb_15-1.png\" width=\"148\" height=\"110\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>SpellChecker           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This application implements and parallelizes a spellchecking algorithm based on the same edit distance calculation in the Edit Distance sample.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_34.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_16.png\" width=\"148\" height=\"116\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>Strassens           <br \/><strong>Languages:<\/strong> C#           <br \/><strong>Description:<\/strong> This application implements several algorithms for performing and parallelizing matrix multiplication, including the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Strassen_algorithm\">Strassen algorithm<\/a>.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_36.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_17.png\" width=\"149\" height=\"129\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>Sudoku           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This is a fun application that provides a full Sudoku experience, including on-demand puzzle generation and solving.&#160; Unlike many Sudoku demos which parallelize the solver, this implementation parallelizes the generator, using PLINQ.&#160; It also demonstrates a use for speculative execution.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_38.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb_18-1.png\" width=\"149\" height=\"123\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong>VisualizePartitioning           <br \/><strong>Languages:<\/strong> C#, Visual Basic           <br \/><strong>Description:<\/strong> This application demonstrates various approaches to partitioning as employed by both Parallel and PLINQ.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"148\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/21\/2019\/02\/image_40.png\"><img decoding=\"async\" style=\"border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2009\/12\/image_thumb-2_19.png\" width=\"148\" height=\"125\" \/><\/a> <\/td>\n<td valign=\"top\" width=\"375\"><strong>Project Name: <\/strong><a href=\"https:\/\/blogs.msdn.com\/pfxteam\/archive\/2010\/04\/04\/9990342.aspx\">ParallelExtensionsExtras<\/a>           <br \/><strong>Languages:<\/strong> C#           <br \/><strong>Description:<\/strong> This class library provides a plethora of interesting and useful extensions to take advantage of and complement the functionality available in the .NET Framework 4 for parallel programming.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>On Code Gallery, we have a plethora of samples that highlight aspects of the .NET Framework 4 that help with writing scalable and efficient parallel applications.&#160; This post examines each of those samples, providing an overview of what each provides. Project Name: AcmePizza Languages: C#, Visual Basic Description: This simple and somewhat silly application demonstrates [&hellip;]<\/p>\n","protected":false},"author":360,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7908],"tags":[7907,7911,7916,7909,7910,7912],"class_list":["post-55952","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pfxteam","tag-net-4","tag-code-samples","tag-coordination-data-structures","tag-parallel-extensions","tag-plinq","tag-task-parallel-library"],"acf":[],"blog_post_summary":"<p>On Code Gallery, we have a plethora of samples that highlight aspects of the .NET Framework 4 that help with writing scalable and efficient parallel applications.&#160; This post examines each of those samples, providing an overview of what each provides. Project Name: AcmePizza Languages: C#, Visual Basic Description: This simple and somewhat silly application demonstrates [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/55952","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/360"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=55952"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/55952\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=55952"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=55952"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=55952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}