我正在使用一些执行此操作的代码:
var _init = false;
this.init = function(){
if(_init)
return;
else
_init = true;
// Do a bunch of stuff here
}
在我看来,我想消除一个很小的竞争条件。函数的第二个实例可能在第一个实例设置为 trueinit
之前开始运行。_init
不太可能,但非零,是吗?
鉴于此,除了单例模式之外,是否有一种直接的方法可以消除这种竞争条件?