BitMapPool.cs 810 B

1234567891011121314151617181920212223242526272829303132
  1. namespace ARMeilleure.Common
  2. {
  3. static class BitMapPool
  4. {
  5. public static BitMap Allocate(int initialCapacity)
  6. {
  7. return BitMap().Reset(initialCapacity);
  8. }
  9. #region "ThreadStaticPool"
  10. public static void PrepareBitMapPool(int groupId = 0)
  11. {
  12. ThreadStaticPool<BitMap>.PreparePool(groupId, ChunkSizeLimit.Small);
  13. }
  14. private static BitMap BitMap()
  15. {
  16. return ThreadStaticPool<BitMap>.Instance.Allocate();
  17. }
  18. public static void ResetBitMapPool(int groupId = 0)
  19. {
  20. ThreadStaticPool<BitMap>.ResetPool(groupId);
  21. }
  22. public static void DisposeBitMapPools()
  23. {
  24. ThreadStaticPool<BitMap>.DisposePools();
  25. }
  26. #endregion
  27. }
  28. }