運行多次預防功能,我有一些代碼,做這方面的工作:與JavaScript中
var _init = false;
this.init = function(){
if(_init)
return;
else
_init = true;
// Do a bunch of stuff here
}
在我看來,有一個微小的競爭條件存在,我想消除。在第一個實例已經開始設置_init
爲真之前,可以使第二個init
函數實例開始運行。不太可能,但不是零,是的?
鑑於此,有沒有一種簡單的方法可以消除這種競爭條件,比如Singleton模式?
由於javascript是單線程的,因此在任何給定時間只有一個執行線程,因此在測試'_init'變量時,沒有其他人可以調用您的函數。 – jfriend00