这种写法有何用心

这种写法有何用意?static int ready 0if (0 ! ready)return -1先赋为0,而后又判断如果不为0,这有什么

这种写法有何用意?
static int ready = 0;  
if (0 != ready) 
  return -1;
先赋为0,而后又判断如果不为0,这有什么必要呢?

[解决办法]
可能在同一个程序块当中有另一个线程使用该变量。
[解决办法]
int func() {
static int ready = 0;
if (0 != ready) 
return -1;
ready = 1;
}

这样,两次运行func的结果是不同的。