Problem with rule locking per ReentrantLock

Maybe this two threads give you a inspiration why sleep is not preferable and how to solve it with timers.