Como explicar melhor o "impasse"?

Estou lutando para explicar "impasse" em tópicos em palavras fáceis, por isso ajude. Qual poderia ser o melhor exemplo de "deadlock" (digamos, em Java), e como isso acontece em etapas e como evitá-lo? Mas sem entrar em detalhes muito profundos. Eu sei que é como perguntar duas coisas opostas, mas ainda assim. Se você tem alguma experiência anterior em treinamento de programação simultânea - seria excelente!

questionAnswers(14)

yourAnswerToTheQuestion