Browse Source

auto commit

tags/v1.0.1
yitter 3 years ago
parent
commit
acaefa52f5
1 changed files with 4 additions and 44 deletions
  1. +4
    -44
      Go/source/idgen/YitIdHelper.go

+ 4
- 44
Go/source/idgen/YitIdHelper.go View File

@@ -1,68 +1,28 @@
/*
* 版权属于:yitter(yitter@126.com)
* 代码编辑:guoyahao
* 代码修订:yitter
* 开源地址:https://gitee.com/yitter/idgenerator
*/
package idgen

import (
"sync"
)

//var yitIdHelper *YitIdHelper
//var once sync.Once

var idGenerator *DefaultIdGenerator
var singletonMutex sync.Mutex
var idGenerator *DefaultIdGenerator

type YitIdHelper struct {
idGenInstance interface {
NewLong() uint64
}
}

//
//func GetIns() *YitIdHelper {
// once.Do(func() {
// yitIdHelper = &YitIdHelper{}
// })
// return yitIdHelper
//}
//
//func (yih *YitIdHelper) GetIdGenInstance() interface{} {
// return yih.idGenInstance
//}
//
//func (yih *YitIdHelper) SetIdGenerator(options *contract.IdGeneratorOptions) {
// yih.idGenInstance = NewDefaultIdGenerator(options)
//}
//
//func (yih *YitIdHelper) NextId() uint64 {
// once.Do(func() {
// if yih.idGenInstance == nil {
// options := contract.NewIdGeneratorOptions(1)
// yih.idGenInstance = NewDefaultIdGenerator(options)
// }
// })
//
// return yih.idGenInstance.NewLong()
//}

// SetIdGenerator .
func SetIdGenerator(options *IdGeneratorOptions) {
singletonMutex.Lock()
idGenerator = NewDefaultIdGenerator(options)
singletonMutex.Unlock()
}

// NextId .
func NextId() uint64 {
if idGenerator == nil {
singletonMutex.Lock()
defer singletonMutex.Unlock()
if idGenerator == nil {
options := NewIdGeneratorOptions(1)
idGenerator = NewDefaultIdGenerator(options)
}
singletonMutex.Unlock()
}

return idGenerator.NewLong()


Loading…
Cancel
Save