Browse by Tags

Setting useLegacyV2RuntimeActivationPolicy At Runtime
Thu, Sep 15 2011 15:58
Version 4.0 of the .NET Framework included a new CLR which is almost entirely backwards compatible with the 2.0 version of the CLR.  However, by default, mixed-mode assemblies targeting .NET 3.5sp1 and earlier will fail to load in a .NET 4 application... Read More...
by Reed Copsey, Jr.
Filed under: , , , ,
Async CTP Refresh for Visual Studio 2010 SP1 Released
Wed, Apr 13 2011 11:30
The Visual Studio team today released an update to the Visual Studio Async CTP which allows it to be used with Visual Studio SP1.  This new CTP includes some very nice new additions over the previous CTP.  The main highlights of this release... Read More...
C# 5 Async, Part 3: Preparing Existing code For Await
Tue, Dec 14 2010 12:25
While the Visual Studio Async CTP provides a fantastic model for asynchronous programming, it requires code to be implemented in terms of Task and Task<T>.  The CTP adds support for Task-based asynchrony to the .NET Framework methods, and... Read More...
C# 5 Async, Part 2: Asynchrony Today
Thu, Dec 2 2010 17:44
The .NET Framework has always supported asynchronous operations.  However, different mechanisms for supporting exist throughout the framework.  While there are at least three separate asynchronous patterns used through the framework, only the... Read More...
C# 5 Async, Part 1: Simplifying Asynchrony – That for which we await
Thu, Oct 28 2010 13:46
Today’s announcement at PDC of the future directions C# is taking excite me greatly.  The new Visual Studio Async CTP is amazing.  Asynchronous code – code which frustrates and demoralizes even the most advanced of developers, is taking a huge... Read More...
by Reed Copsey, Jr.
Filed under: , , , ,
Parallelism in .NET – Part 20, Using Task with Existing APIs
Wed, Oct 27 2010 15:15
Although the Task class provides a huge amount of flexibility for handling asynchronous actions, the .NET Framework still contains a large number of APIs that are based on the previous asynchronous programming model.  While Task and Task<T>... Read More...
Parallelism in .NET – Part 19, TaskContinuationOptions
Tue, Oct 26 2010 19:30
My introduction to Task continuations demonstrates continuations on the Task class.  In addition, I’ve shown how continuations allow handling of multiple tasks in a clean, concise manner.  Continuations can also be used to handle exceptional... Read More...
Parallelism in .NET – Part 18, Task Continuations with Multiple Tasks
Mon, Jul 19 2010 20:18
In my introduction to Task continuations I demonstrated how the Task class provides a more expressive alternative to traditional callbacks.  Task continuations provide a much cleaner syntax to traditional callbacks, but there are other reasons to... Read More...
Parallelism in .NET – Part 17, Think Continuations, not Callbacks
Mon, Apr 19 2010 15:27
In traditional asynchronous programming, we’d often use a callback to handle notification of a background task’s completion.  The Task class in the Task Parallel Library introduces a cleaner alternative to the traditional callback: continuation tasks... Read More...
Parallelism in .NET – Part 16, Creating Tasks via a TaskFactory
Fri, Mar 26 2010 19:51
The Task class in the Task Parallel Library supplies a large set of features.  However, when creating the task, and assigning it to a TaskScheduler, and starting the Task, there are quite a few steps involved.  This gets even more cumbersome... Read More...
MEF CompositionInitializer for WPF
Fri, Mar 26 2010 17:45
The Managed Extensibility Framework is an amazingly useful addition to the .NET Framework. I was very excited to see System.ComponentModel.Composition added to the core framework. Personally, I feel that MEF is one tool I’ve always been missing in my... Read More...
by Reed Copsey, Jr.
Filed under: , , , , ,
Parallelism in .NET – Part 15, Making Tasks Run: The TaskScheduler
Thu, Mar 18 2010 20:10
In my introduction to the Task class, I specifically made mention that the Task class does not directly provide it’s own execution.  In addition, I made a strong point that the Task class itself is not directly related to threads or multithreading... Read More...
Parallelism in .NET – Part 14, The Different Forms of Task
Wed, Mar 17 2010 19:56
Before discussing Task creation and actual usage in concurrent environments, I will briefly expand upon my introduction of the Task class and provide a short explanation of the distinct forms of Task.  The Task Parallel Library includes four distinct... Read More...
Parallelism in .NET – Part 13, Introducing the Task class
Mon, Mar 15 2010 15:47
Once we’ve used a task-based decomposition to decompose a problem, we need a clean abstraction usable to implement the resulting decomposition.  Given that task decomposition is founded upon defining discrete tasks, .NET 4 has introduced a new API... Read More...
Parallelism in .NET – Part 12, More on Task Decomposition
Fri, Mar 5 2010 19:09
Many tasks can be decomposed using a Data Decomposition approach, but often, this is not appropriate.  Frequently, decomposing the problem into distinctive tasks that must be performed is a more natural abstraction. However, as I mentioned in Part... Read More...
Parallelism in .NET – Part 11, Divide and Conquer via Parallel.Invoke
Fri, Feb 26 2010 18:00
Many algorithms are easily written to work via recursion.  For example, most data-oriented tasks where a tree of data must be processed are much more easily handled by starting at the root, and recursively “walking” the tree.  Some algorithms... Read More...
Parallelism in .NET – Part 10, Cancellation in PLINQ and the Parallel class
Wed, Feb 17 2010 19:35
Many routines are parallelized because they are long running processes.  When writing an algorithm that will run for a long period of time, its typically a good practice to allow that routine to be cancelled.  I previously discussed terminating... Read More...
Parallelism in .NET – Part 9, Configuration in PLINQ and TPL
Thu, Feb 11 2010 19:12
Parallel LINQ and the Task Parallel Library contain many options for configuration.  Although the default configuration options are often ideal, there are times when customizing the behavior is desirable.  Both frameworks provide full configuration... Read More...
Parallelism in .NET – Part 8, PLINQ’s ForAll Method
Wed, Feb 3 2010 19:56
Parallel LINQ extends LINQ to Objects, and is typically very similar.  However, as I previously discussed, there are some differences.  Although the standard way to handle simple Data Parellelism is via Parallel.ForEach, it’s possible to do... Read More...
Parallelism in .NET – Part 7, Some Differences between PLINQ and LINQ to Objects
Thu, Jan 28 2010 15:02
In my previous post on Declarative Data Parallelism, I mentioned that PLINQ extends LINQ to Objects to support parallel operations.  Although nearly all of the same operations are supported, there are some differences between PLINQ and LINQ to Objects... Read More...
More Posts Next page »