New Feature? :: Delayed cancellation

  We’re interested in adding support for scheduling cancellation.  For example:   // Create a token source that will Cancel() after a delay var cts = new CancellationTokenSource(TimeSpan.FromMilliseconds(100)); // And/or schedule a Cancel() call cts.CancelAfter(TimeSpan.FromMilliseconds(100)); We’ve heard from many folks that this is a desired feature and have found good uses for it ourselves.  Interestingly,… Read more

New Feature? :: ThreadLocal<T>.Values

We’ve been considering adding a Values property to System.Threading.ThreadLocal<T>.  Values would return a collection of all current values from all threads (e.g. what you’d get if you evaluated Value from each thread).  This would allow for easy aggregations, and in fact in our Parallel Extensions Extras we have a wrapper around ThreadLocal<T> called ReducationVariable<T> that… Read more

Creating pre-completed Tasks

  We’ve been considering adding support for creating completed Tasks from an existing result.  Here’s a prototypical example of where this could be valuable.   void Task<float> ComputeAsync(…) {     if (!resultIsCached)     {         return Task<float>.Factory.StartNew(() => Compute());     }     else     {         // return a Task<float> with the cached result    … Read more