Question d’entretien chez GlobalRely

What is a deadlock in multithread programming? How do you avoid such a problem?