Skip to content

Releases: helios-io/DedicatedThreadPool

Helios.DedicatedThreadPool v0.3

05 Apr 19:23
Compare
Choose a tag to compare

0.3.0 April 05 2016

Major upgrade to the performance and stability of DedicatedThreadPool.

Previous (v0.2) numbers:

Metric Units / s Max / s Average / s Min / s StdDev / s
[Counter] BenchmarkCalls operations 2,381,933.51 2,335,262.42 2,123,061.11 75,849.97

Current (v0.3) numbers:

Metric Units / s Max / s Average / s Min / s StdDev / s
[Counter] BenchmarkCalls operations 9,998,100.36 8,661,529.31 7,093,003.46 944,954.17

Initial Release

18 Mar 04:17
Compare
Choose a tag to compare

0.1.0 Mar 17 2015

Initial build of DedicatedThreadPool. Works via the following API:

using (var threadPool = new Helios.Concurrency.DedicatedThreadPool(
        new DedicatedThreadPoolSettings(numThreads)))
{
    threadPool.QueueUserWorkItem(() => { ... }));
}

Creates a DedicatedThreadPool object which allocates a fixed number of threads, each with their own independent task queue.

This DedicatedThreadPool can also be used in combination with a DedicatedThreadPoolTaskScheduler for TPL support, like this:

//use 3 threads
var Pool = new DedicatedThreadPool(new DedicatedThreadPoolSettings(3));
var Scheduler = new DedicatedThreadPoolTaskScheduler(Pool);
var Factory = new TaskFactory(Scheduler);

 var task = Factory.StartNew(() =>
{
    //work that'll run on the dedicated thread pool...
});