The Concurrency Kit is a .NET / Mono kit that includes a port of the Task Parallel Library and extends it to support Fibers, Coroutines, and Unity. Fibers allow code paths to execute concurrently using a single thread by leveraging the co-operative yielding behavior of coroutines.
Because code written in this manner is designed with concurrency in mind, tasks can run in parallel across multiple threads or as concurrent fibers on a single thread by changing out the task scheduler. This flexibility makes it easy to write and maintain portable asynchronous code that scales.
Use the feature rich asynchronous task model in your designs.
- Start a background task using the thread pool and complete the operation on the main thread
- Declaratively schedule workflows with chained asynchronous tasks and anonymous delegates
- Coordinate between concurrently executing tasks
- Easily cancel tasks in progress
- Leverage multiple CPU cores for maximum throughput
- Maximize individual thread usage with co-operative multitasking and task inlining
- Control how tasks are scheduled and the level of concurrency
- Write more maintainable, more performant asynchronous code
See Building the Kit for information on compiling.
Copyright (c) 2012-2014 Spicy Pixel, Inc.