try notifyAll with counter & threshold to minimize overuse of CPU