Category: TPL

  • Concurrent Data Structures

    In this post we are going to look at concurrent data structures, why they are helpful for synchronization purposes and which basic data structures TPL does provide you as an application developer. What this post will cover Why one needs concurrent data structures Which data structures does TPL offer Concurrent & deferred initialization What this […]

    READ MORE
  • Immutable shared state object

    In the post about Basic thread safety in .Net we looked at techniques to avoid state corruption in asynchronous code. In this post I will briefly show how you can utilize an Immutable state object for a very brief lock so you can access immutable data to ease your synchronization of your algorithms. The source code for […]

    READ MORE
  • Interlocked and Atomicity

    In the basic thread safety post we looked shortly at atomicity. In this post we want to look at how we can convert simple non atomic operations to atomic operations in the sense of a thread safe processor instruction. The key to do this in .Net is the static Interlocked class. Our first example  will […]

    READ MORE
  • Thread safety in .Net: the basics

    Using asynchronous code introduces a range of possible bugs that boil down to data corruption of mutable shared state. This is because threads share the heap memory and therefore the state of reference object instances. So if you save data in a field and access it asynchronously it can lead to data corruption. This is […]

    READ MORE
  • What do async and await do

    Async & await In this post we are going to explore the keywords that came with TPL in .Net 4.5 and were introduced to take the asynchronous programming experience as close to the synchronous as possible. We will look at this programming model, how it enables the creation of responsive UIs and how it can […]

    READ MORE
  • Pfx- Parallel programming in .Net

    parallel programming This post will shed some light on parallel programming in .Net. The reasons why one wants to use it, what it does and how it is accomplished with .Net techniques from TPL. What this post will cover Why you need parallel programming, what is it, and how it is done Parallel programming in […]

    READ MORE
  • Introduction to Tasks in TPL

    What is a Task? In the first two posts about asynchronous programming we saw what asynchronous programming is and which techniques .Net offers to accomplish different units of work in an asynchronous manner. Besides Threads, EAP and APM with .Net 4.0 yet another way for building asynchronous applications was introduced: the Task Parallel Library or […]

    READ MORE
  • Asynchronous techniques in .Net

    To get a deeper insight in what asynchronous programming is, refer to my Introduction. For starters asynchronous code simply has more than one piece of logic executed at the same time. In this post we are going to look at ways to accomplish asynchronous execution with programming techniques in .Net. What this post will cover […]

    READ MORE
  • Asynchronous programming with dotnet introduction

    Asynchronous programming with dotnet will be introduced by this post. We examine how it is different to synchronous programming, what drives the need for it and what the mechanisms of asynchronous programming are. To see .Net specific implementations and asynchronous techniques see: Async Techniques in .Net. What this post will cover:  What is async programming […]

    READ MORE