SynchronizedPool`1.cs 485 B

123456789101112131415161718192021222324252627
  1. namespace HandyControl.Collections;
  2. public class SynchronizedPool<T> : SimplePool<T>
  3. {
  4. private readonly object _lockObj = new();
  5. public SynchronizedPool(int maxPoolSize) : base(maxPoolSize)
  6. {
  7. }
  8. public override T Acquire()
  9. {
  10. lock (_lockObj)
  11. {
  12. return base.Acquire();
  13. }
  14. }
  15. public override bool Release(T element)
  16. {
  17. lock (_lockObj)
  18. {
  19. return base.Release(element);
  20. }
  21. }
  22. }