auto commit
This commit is contained in:
@@ -264,7 +264,7 @@ namespace Yitter.IdGenerator
|
||||
BeginTurnBackAction(_TurnBackTimeTick);
|
||||
}
|
||||
|
||||
Thread.Sleep(10);
|
||||
//Thread.Sleep(1);
|
||||
return CalcTurnBackId(_TurnBackTimeTick);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
#include "SnowWorkerM1.h"
|
||||
|
||||
|
||||
@@ -73,16 +74,21 @@ static inline uint64_t NextNormalId(SnowFlakeWorker *worker) {
|
||||
worker->_TurnBackIndex = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// usleep(1000); // 暂停1ms
|
||||
return CalcTurnBackId(worker);
|
||||
}
|
||||
|
||||
if (worker->_TurnBackTimeTick > 0) {
|
||||
worker->_TurnBackTimeTick = 0;
|
||||
}
|
||||
|
||||
if (currentTimeTick > worker->_LastTimeTick) {
|
||||
worker->_LastTimeTick = currentTimeTick;
|
||||
worker->_CurrentSeqNumber = worker->MinSeqNumber;
|
||||
return CalcId(worker);
|
||||
}
|
||||
|
||||
if (worker->_CurrentSeqNumber > worker->MaxSeqNumber) {
|
||||
worker->_TermIndex++;
|
||||
worker->_LastTimeTick++;
|
||||
@@ -92,6 +98,7 @@ static inline uint64_t NextNormalId(SnowFlakeWorker *worker) {
|
||||
worker->_GenCountInOneTerm = 1;
|
||||
return CalcId(worker);
|
||||
}
|
||||
|
||||
return CalcId(worker);
|
||||
}
|
||||
|
||||
|
||||
@@ -152,19 +152,22 @@ func (m1 *SnowWorkerM1) NextNormalId() uint64 {
|
||||
m1.BeginTurnBackAction(m1._TurnBackTimeTick)
|
||||
}
|
||||
|
||||
time.Sleep(time.Duration(1) * time.Millisecond)
|
||||
// time.Sleep(time.Duration(1) * time.Millisecond)
|
||||
return m1.CalcTurnBackId(m1._TurnBackTimeTick)
|
||||
}
|
||||
|
||||
// 时间追平时,_TurnBackTimeTick清零
|
||||
if m1._TurnBackTimeTick > 0 {
|
||||
m1.EndTurnBackAction(m1._TurnBackTimeTick)
|
||||
m1._TurnBackTimeTick = 0
|
||||
}
|
||||
|
||||
if currentTimeTick > m1._LastTimeTick {
|
||||
m1._LastTimeTick = currentTimeTick
|
||||
m1._CurrentSeqNumber = m1.MinSeqNumber
|
||||
return m1.CalcId(m1._LastTimeTick)
|
||||
}
|
||||
|
||||
if m1._CurrentSeqNumber > m1.MaxSeqNumber {
|
||||
m1.BeginOverCostAction(currentTimeTick)
|
||||
m1._TermIndex++
|
||||
|
||||
@@ -183,7 +183,7 @@ public class SnowWorkerM1 implements ISnowWorker {
|
||||
}
|
||||
|
||||
try {
|
||||
Thread.sleep(10);
|
||||
// Thread.sleep(1);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -132,8 +132,6 @@ ID示例(基于默认配置):
|
||||
|
||||
🔶 当发生系统时间回拨时,算法采用过去时序的预留序数生成新的ID。
|
||||
|
||||
🔶 默认每秒生成100个(速度可调整)。
|
||||
|
||||
🔶 回拨生成的ID序号,默认靠前,也可以调整为靠后。
|
||||
|
||||
🔶 允许时间回拨至本算法预设基数(参数可调)。
|
||||
|
||||
@@ -204,7 +204,7 @@ impl SnowWorkerM1 {
|
||||
self.BeginTurnBackAction(self._TurnBackTimeTick);
|
||||
}
|
||||
|
||||
thread::sleep(std::time::Duration::from_millis(10));
|
||||
// thread::sleep(std::time::Duration::from_millis(1));
|
||||
return self.CalcTurnBackId(self._TurnBackTimeTick);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user