Skip to main content
Microsoft
.NET Parallel Programming
.NET Parallel Programming
  • Home
  • DevBlogs
    • App Center
    • Azure DevOps
    • Notification Hubs
    • Visual Studio
    • Visual Studio Code
    • Visual Studio for Mac
    • Azure Artifacts
    • Azure Boards
    • Azure Pipelines
    • Azure Repos
    • Azure Test Plans
    • DevOps
    • C++
    • Java
    • Java Blog in Chinese
    • JavaScript
    • PowerShell
    • Python
    • Q#
    • Scripting
    • TypeScript
    • Visual Basic
    • Visual C#
    • Visual F#
    • .NET
    • ASP.NET
    • NuGet
    • Xamarin
    • Apps for Windows
    • Azure Government
    • Azure SDKs
    • Bing Dev Center
    • Command Line
    • Developer Support
    • DirectX Developer Blog
    • IoT Developer
    • Math In Office
    • Microsoft Edge Dev
    • Microsoft Azure
    • Office 365 Development
    • Old New Thing
    • PAX Graph
    • PAX Media
    • PAX Windows
    • Perf and Diagnostics
    • PIX on Windows
    • Startup Developers
    • Surface Duo
    • Sustainable Software
    • Windows Search Platform
    • Azure Cosmos DB
    • Azure Data Studio
    • Azure SQL
    • Azure Synapse Analytics
    • OData
    • Revolutions R
    • SQL Server Data Tools

    .NET Parallel Programming

    All about Async/Await, System.Threading.Tasks, System.Collections.Concurrent, System.Linq, and more…

    June 2009 | .NET Parallel Programming

    Asynchronous methods, C# iterators, and Tasks
    Asynchronous methods, C# iterators, and Tasks
    AvatarStephen Toub - MSFTJune 30, 2009Jun 30, 200906/30/09
    More and more, developers are realizing the significant scalability advantages that asynchronous programming can provide, especially as it relates to I/O. Consider an application that needs to copy data from one stream to another stream, such as is being done in the following synchronous implementation: static void CopyStreamToStream(Stream ...

    0.NET 4Code Samples
    Don’t dispose of objects that you don’t own
    Don’t dispose of objects that you don’t own
    Avatarphillips.joshuaJune 24, 2009Jun 24, 200906/24/09
    In concurrent programs, race conditions are a fact of life but they aren’t all bad.  Sometimes, race conditions are benign, as is often the case with lazy initialization.  The problem with racing to set a value, however, is that it can result in multiple objects being instantiated when only one is needed.  Take the ...

    0
    Parallel For Loops over Non-Integral Types
    Parallel For Loops over Non-Integral Types
    AvatarStephen Toub - MSFTJune 24, 2009Jun 24, 200906/24/09
    In a previous post, it was demonstrated how for loops with very small loop bodies could be parallelized by creating an iterator over ranges, and then using Parallel.ForEach over those ranges.  A similar technique can be used to write parallel loops over iteration spaces of non-integers.  For example, let’s say I wanted to ...

    0.NET 4Code Samples
    Cancellation in Parallel Extensions
    Cancellation in Parallel Extensions
    AvatarMike LiddellJune 22, 2009Jun 22, 200906/22/09
    One of the great features that crosses all of Parallel Extensions types is a consistent approach to cancellation (see https://blogs.msdn.com/pfxteam/archive/2009/05/22/9635790.aspx). In this post we explore some of the ways cancellation is used in Parallel Extensions and explain the guidance we developed. The new cancellation system is a ...

    0.NET 4Cancellation
    Tasks and the Event-based Asynchronous Pattern
    Tasks and the Event-based Asynchronous Pattern
    AvatarStephen Toub - MSFTJune 19, 2009Jun 19, 200906/19/09
    As has been discussed previously, one of the new features in the Task Parallel Library is TaskCompletionSource<TResult>, which enables the creation of a Task<TResult> that represents any other asynchronous operation.  There are a wide variety of sources in the .NET Framework for asynchronous work.  One comes from ...

    0.NET 4Parallel Extensions
    How PLINQ processes an IEnumerable on multiple cores
    How PLINQ processes an IEnumerable on multiple cores
    AvatarIgor Ostrovsky - MSFTJune 13, 2009Jun 13, 200906/13/09
    As Ed Essey explained in Partitioning in PLINQ, partitioning is an important step in PLINQ execution. Partitioning splits up a single input sequence into multiple sequences that can be processed in parallel. This post further explains chunk partitioning, the most general partitioning scheme that works on any IEnumerable<T>.Chunk ...

    0.NET 4Parallel Extensions
    Tasks and the APM Pattern
    Tasks and the APM Pattern
    AvatarStephen Toub - MSFTJune 9, 2009Jun 9, 200906/9/09
    The Asynchronous Programming Model (APM) in the .NET Framework has been around since .NET 1.0 and is the most common pattern for asynchrony in the Framework.  Even if you’re not familiar with the name, you’re likely familiar with the core of the pattern.  For a given synchronous operation Xyz, the asynchronous version ...

    0.NET 4Code Samples
    Achieving Speedups with Small Parallel Loop Bodies
    Achieving Speedups with Small Parallel Loop Bodies
    AvatarStephen Toub - MSFTJune 6, 2009Jun 6, 200906/6/09
    The Parallel class represents a significant advancement in parallelizing managed loops.  For many common scenarios, it just works, resulting in terrific speedups.  However, while ideally Parallel.For could be all things to all people, such things rarely work out, and we’ve had to prioritize certain scenarios over others.One ...

    0.NET 4Code Samples
    Mechanisms for Creating Tasks
    Mechanisms for Creating Tasks
    AvatarStephen Toub - MSFTJune 3, 2009Jun 3, 200906/3/09
    The core entity in the Task Parallel Library around which everything else revolves is System.Threading.Tasks.Task.  The most common way of creating a Task will be through the StartNew method on the TaskFactory class, a default instance of which is exposed through a static property on Task, e.g. var t = Task.Factory.StartNew(() => { &...

    0.NET 4Code Samples
    The Nature of TaskCompletionSource
    The Nature of TaskCompletionSource
    AvatarStephen Toub - MSFTJune 2, 2009Jun 2, 200906/2/09
    The Task Parallel Library is centered around the Task class and its derived Task<TResult>. The main purpose of these types is to represent the execution of an asynchronous workload and to provide an object with a means to operate on that workload, whether it be to wait for it, to continue from it, or the like. The primary type of ...

    2.NET 4Code Samples
    • Page 1
    • Page 2
    • Next page
    Relevant Links

    corefx repository on GitHub

    .NET

    Microsoft Azure

    Top Bloggers
    Archive
  • February 2015
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • June 2011
  • May 2011
  • April 2011
  • February 2011
  • January 2011
  • November 2010
  • October 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • Stay informed

    Login
    Code Block
    What's new
    • Surface Duo
    • Surface Laptop Go
    • Surface Pro X
    • Surface Go 2
    • Surface Book 3
    • Microsoft 365
    • Windows 10 apps
    • HoloLens 2
    Microsoft Store
    • Account profile
    • Download Center
    • Microsoft Store support
    • Returns
    • Order tracking
    • Virtual workshops and training
    • Microsoft Store Promise
    • Financing
    Education
    • Microsoft in education
    • Office for students
    • Office 365 for schools
    • Deals for students & parents
    • Microsoft Azure in education
    Enterprise
    • Azure
    • AppSource
    • Automotive
    • Government
    • Healthcare
    • Manufacturing
    • Financial services
    • Retail
    Developer
    • Microsoft Visual Studio
    • Windows Dev Center
    • Developer Center
    • Microsoft developer program
    • Channel 9
    • Microsoft 365 Dev Center
    • Microsoft 365 Developer Program
    • Microsoft Garage
    Company
    • Careers
    • About Microsoft
    • Company news
    • Privacy at Microsoft
    • Investors
    • Diversity and inclusion
    • Accessibility
    • Security
    English (United States)
    • Sitemap
    • Contact Microsoft
    • Privacy
    • Manage cookies
    • Terms of use
    • Trademarks
    • Safety & eco
    • About our ads
    • © Microsoft 2021