should prevent cyclic wait-notify