void Deadlock()
{
// Пытаемся обновить UI. Метод Invoke блокирует исполнение текущего потока
// пока UI поток не выполнит запрошенное действие
// Однако это никогда не прозойдет т.к. UI поток заблокирован
// вызовом _unlocked.WaitOne() и не может обрабатывать сообщения из очереди
Invoke((Action)delegate() {
statusLabel.Text = "Избежали взаимоблокировки!";
});
// Переводим событие в сигнальное состояние
// Следующая строка никогда не выполнится
_unlocked.Set();
}