instant sync: use wait and notify instead of busy wait