Now, in this code, I am a bit confused that how will the reader threads reach the statement .......... c.wait() ?
This is because the Calculator Thread has started and it has got a lock on its own object. So while it is doing the calculations, Reader threads will not be even get the lock on the calculator object