IdFactory.cs 703 B

123456789101112131415161718192021222324252627282930
  1. using SqlSugar.DistributedSystem.Snowflake;
  2. namespace ServiceCenter.SqlSugars
  3. {
  4. public static class IdFactory
  5. {
  6. private static readonly object locker = new object();
  7. private static IdWorker _idworker;
  8. public static IdWorker GetInstance()
  9. {
  10. if (_idworker == null)
  11. {
  12. lock (locker)
  13. {
  14. if (_idworker == null)
  15. {
  16. _idworker = new IdWorker(1, 1);
  17. }
  18. }
  19. }
  20. return _idworker;
  21. }
  22. public static long NewId()
  23. {
  24. return GetInstance().NextId();
  25. }
  26. }
  27. }