Hi @rayman2220, thank you very much for your valuable response. You are right; I missed that "withLock(cLock):" before the wait(lockCond,cLock). Thanks for correcting me. Also thanks for the links, but I wonder how **unspecified** is defined ...
Just for clarification: your example also deadlocks with just one wait(lockCond,cLock)? Or I missed something? At least one signal shouldn`t lost because you can“t ensure that the **waiting**-thread is "faster"(waiting before signaling) than the signaling one. Because of that I added the extra "sleep(5000)" to test this specific condition.