A is correct because notifyAll() (and wait() and notify()) must be called from within asynchronized context. D is a correct statement. B is incorrect because to call wait(), the thread must own the lock on the object that wait() isbeing invoked on, not the other way around. C is wrong because notify() is defined injava.lang.Object. E is wrong because notify() will not cause a thread to release its locks. Thethread can only release its locks by exiting the synchronized code. F is wrong becausenotifyAll() notifies all the threads waiting on a particular locked object, not all threads waiting onany object.