dajiangroute/tiles/TracePoint/tryLock.js
2025-09-13 17:38:35 +08:00

29 lines
457 B
JavaScript

/* 原子尝试锁, 非阻塞且线程安全, 可用于异步多线程 */
class TryLock
{
constructor()
{
this._locked = false;
}
/**
* 尝试获取锁
* true: 获取成功, false: 已被锁定
*/
tryLock()
{
if (this._locked)
{
return false;
}
this._locked = true;
return true;
}
/* 释放锁资源 */
release()
{
this._locked = false;
}
}
export default TryLock;
// module.exports = TryLock;