comparison Implab/ObjectPool.cs @ 119:2573b562e328 v2

Promises rewritten, added improved version of AsyncQueue
author cin
date Sun, 11 Jan 2015 19:13:02 +0300
parents 8beee0d11de6
children
comparison
equal deleted inserted replaced
118:e046a94eecb1 119:2573b562e328
16 /// новых экземпляров. 16 /// новых экземпляров.
17 /// </para> 17 /// </para>
18 /// <para>Пул поддерживает обращения сразу из нескольких потоков.</para> 18 /// <para>Пул поддерживает обращения сразу из нескольких потоков.</para>
19 /// </remarks> 19 /// </remarks>
20 public abstract class ObjectPool<T> where T : class { 20 public abstract class ObjectPool<T> where T : class {
21 readonly MTQueue<WeakReference> m_queue = new MTQueue<WeakReference>(); 21 readonly AsyncQueue<WeakReference> m_queue = new AsyncQueue<WeakReference>();
22 readonly int m_size; 22 readonly int m_size;
23 int m_count = 0; 23 int m_count = 0;
24 24
25 protected ObjectPool() : this(Environment.ProcessorCount+1) { 25 protected ObjectPool() : this(Environment.ProcessorCount+1) {
26 26