Skip to content

Commit f26d78a

Browse files
committed
[ohscript] 优化初始化id锁粒度
1 parent 4c6b221 commit f26d78a

File tree

1 file changed

+8
-4
lines changed
  • framework/ohscript/src/main/java/modelengine/fit/ohscript/util

1 file changed

+8
-4
lines changed

framework/ohscript/src/main/java/modelengine/fit/ohscript/util/Tool.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,14 @@ protected static void setId(long value) {
7373
/**
7474
* 初始化id,只有在id为非正数时生效
7575
*/
76-
private static synchronized void initId() {
77-
if (id.get() <= 0) {
78-
setId(1);
79-
}
76+
private static void initId() {
77+
long current;
78+
do {
79+
current = id.get();
80+
if (current > 0) {
81+
return;
82+
}
83+
} while (!id.compareAndSet(current, 1));
8084
}
8185

8286
/**

0 commit comments

Comments
 (0)