1
0
mirror of synced 2025-12-15 17:48:11 +08:00

auto commit

This commit is contained in:
yitter
2021-04-03 00:41:24 +08:00
parent 5f898a6954
commit c44ba174d0
6 changed files with 17 additions and 9 deletions

View File

@@ -264,7 +264,7 @@ namespace Yitter.IdGenerator
BeginTurnBackAction(_TurnBackTimeTick);
}
Thread.Sleep(10);
//Thread.Sleep(1);
return CalcTurnBackId(_TurnBackTimeTick);
}

View File

@@ -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);
}

View File

@@ -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++

View File

@@ -183,7 +183,7 @@ public class SnowWorkerM1 implements ISnowWorker {
}
try {
Thread.sleep(10);
// Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}

View File

@@ -132,8 +132,6 @@ ID示例基于默认配置
🔶 当发生系统时间回拨时算法采用过去时序的预留序数生成新的ID。
🔶 默认每秒生成100个速度可调整
🔶 回拨生成的ID序号默认靠前也可以调整为靠后。
🔶 允许时间回拨至本算法预设基数(参数可调)。

View File

@@ -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);
}