How to schedule Task on different thread priority?


How to schedule Task on different thread priority?   .NET 4 brought as the Task Parallel Library (TPL) which is great improvement over the old threading techniques, both in terms of API and performance. the TPL APIs is elegant and clear, but intentionally the TPL team didn't add API (out of the box) for scheduling thread under different priorities.   this post deal discuss how to create custom TPL scheduler that schedule the work units under different thread priorities.   the code sample for this post can be download from: Low Priority Scheduler Custom Priority Scheduler TPL APIs most of the TPL APIs expose overload with scheduler parameter. out of the box TPL is having 2...

Enum.HasFlag: good or bad?


Enum.HasFlag: good or bad? .NET 4 give us nice elegant way of checking whether enums contain a value.   assuming that we have the following enum: Code Snippet public enum MyEnum {     None = 0,     A = 1,     B = 2,     C = 4,     D = 8 } we can use the bitwise for checking whether instantiation of the enum contain a value, as shown in the next snippet: Code Snippet var options = MyEnum.A | MyEnum.B;...
no comments

SDP (SELA annual conference) – Parallel Programming

SDP (SELA annual conference) - Parallel Programming SELA Group is having it's annual conference at 13-16 March 2011,   In the conference I’m going to have one-day tutorial (along with Yaniv Rodenski) about Parallel Programming. In this one-day tutorial you will cover how to gain real benefits from parallelizing your applications with .NET 4.0. We'll discuss parallel programming paradigms and concepts, APIs, concurrency profiling, parallel patterns and anti-patterns. Among the topics: implicit and explicit parallelism, synchronization, concurrent collections, partitioning, Reactive Extensions, and the future C# 5.0 parallelism.   If you happened...
tags: ,
no comments

How to find which core your thread is scheduled on?

How to find which core your thread is scheduled on? this post is short and quit simple, it deal with technique of finding out which core attached to the current thread.   in general finding the core is a matter of diagnostic, it may give some insights like whether we are using the CPU cache line in optimal way. the simplest way (and a very recommended one) is to profile your application using the Visual Studio Concurrent Profiler (which available on VS 2010 ultimate). in case that...
no comments