项目作者: qoollo
项目描述 :
Collection of useful classes for your .NET application (object pool, thread pool, async processing, queues, collections, multithreading primitives, etc.)
高级语言: C#
项目地址: git://github.com/qoollo/dotNet-turbo.git
Qoollo Turbo

Collection of useful classes for your .NET application.
Library contains a number of reuseful base classes:
- Object pools - easy to use object pools;
- Asynchronous data processing with queue - help in parallelization of item processing;
- Thread pools - fast thread pools with dynamic adjustment of thread count;
- Thread set manager - simplify common thread start/stop scenarios;
- SemaphoreLight - extremely fast lightweight semaphore;
- BlockingQueue - thread safe queue with blocking (up to 5 times faster than
BlockingCollection<T>
); - EntryCountingEvent - allow to control the clients entered some block of code;
- ThrottlingBehaviour - allow to limit the maximum requests per second;
- IoC container - simple inversion-of-control container;
- WeakDelegate, WeakEvent - event with weak reference to subscribers;
- Deque - collection of elements organized as deque;
- Priority Queues - simple queue with limited number of priorities;
- CircularList - collection that stores elements inside circular buffer;
- Read only collections - a number of useful readonly collections (List, Dictionary, HashSet);
- A bunch of extension methods for
IEnumerable<T>
, Type
, Exception
; - MonitorObject - object oriented abstraction over BCL
Monitor.Wait()
, Monitor.Pulse()
, Monitor.PulseAll()
; - Queues - exposes 4 types of thread-safe blocking queues:
MemoryQueue<T>
, DiskQueue<T>
, TransformationQueue<T>
and LevelingQueue<T>
; - BatchingQueue - queue in which items are enqueued one-by-one and dequeued in batches. Exposes
ConcurrentBatchingQueue<T>
and BlockingBatchingQueue<T>
.
NuGet
Qoollo.Turbo