asynchronize currentLevel and AutomicLong get. it should be redo when compareAndSet() return false