@@ -1,7 +1,7 @@ | |||||
## Ignore Visual Studio temporary files, build results, and | ## Ignore Visual Studio temporary files, build results, and | ||||
## files generated by popular Visual Studio add-ons. | ## files generated by popular Visual Studio add-ons. | ||||
build/* | |||||
build | |||||
# User-specific files | # User-specific files | ||||
*.suo | *.suo | ||||
@@ -256,6 +256,7 @@ paket-files/ | |||||
*.sln.iml | *.sln.iml | ||||
target/ | target/ | ||||
cmake-build-* | cmake-build-* | ||||
source.code-* | |||||
# macOS | # macOS | ||||
.DS_Store | .DS_Store |
@@ -8,17 +8,16 @@ set(CMAKE_C_STANDARD 11) | |||||
aux_source_directory(. DIR_SRCS) | aux_source_directory(. DIR_SRCS) | ||||
add_subdirectory(idgen) | add_subdirectory(idgen) | ||||
#编译动态库 | #编译动态库 | ||||
#set(LIB_SRC YitIdHelper.h YitIdHelper.c) | |||||
#add_library(YitIdGenLib SHARED ${LIB_SRC}) | |||||
#target_link_libraries(YitIdGenLib idgen) | |||||
#set_target_properties(YitIdGenLib PROPERTIES | |||||
# set(LIB_SRC YitIdHelper.h YitIdHelper.c) | |||||
# add_library(YitIdGenLib SHARED ${LIB_SRC}) | |||||
# target_link_libraries(YitIdGenLib idgen) | |||||
# set_target_properties(YitIdGenLib PROPERTIES | |||||
# LINKER_LANGUAGE C | # LINKER_LANGUAGE C | ||||
# OUTPUT_NAME "yitidgenc" | # OUTPUT_NAME "yitidgenc" | ||||
# PREFIX "") | # PREFIX "") | ||||
##编译执行文件 | |||||
# 编译执行文件 | |||||
set(LIB_SRC YitIdHelper.h YitIdHelper.c) | set(LIB_SRC YitIdHelper.h YitIdHelper.c) | ||||
add_library(YitIdHelper ${LIB_SRC}) | add_library(YitIdHelper ${LIB_SRC}) | ||||
add_executable(YitIdGen main.c) | add_executable(YitIdGen main.c) | ||||
@@ -109,7 +109,7 @@ extern void SetOptions(IdGeneratorOptions options) { | |||||
_idGenerator->NextId = WorkerM2Id; | _idGenerator->NextId = WorkerM2Id; | ||||
} else { | } else { | ||||
_idGenerator->NextId = WorkerM1Id; | _idGenerator->NextId = WorkerM1Id; | ||||
sleep(1); | |||||
usleep(500*1000); // 暂停500ms | |||||
} | } | ||||
} | } | ||||
@@ -162,6 +162,7 @@ extern int64_t GetCurrentMicroTime() { | |||||
extern int64_t GetNextTimeTick(SnowFlakeWorker *worker) { | extern int64_t GetNextTimeTick(SnowFlakeWorker *worker) { | ||||
uint64_t tempTimeTicker = GetCurrentTimeTick(worker); | uint64_t tempTimeTicker = GetCurrentTimeTick(worker); | ||||
while (tempTimeTicker <= worker->_LastTimeTick) { | while (tempTimeTicker <= worker->_LastTimeTick) { | ||||
usleep(1000); // 暂停1ms | |||||
tempTimeTicker = GetCurrentTimeTick(worker); | tempTimeTicker = GetCurrentTimeTick(worker); | ||||
} | } | ||||
return tempTimeTicker; | return tempTimeTicker; | ||||