try notifyAll with contended counter to minimize overuse of CPU