Everpure Interview Question

Giving a multi-thread stack java program, ask you to mark when should use lock or unlock and also ask you to throw a runtime exception when some one want to pop an element from the stack but the stack is empty.