Мне известно, что вы можете заблокировать объект в c # с помощью блокировки, но можете ли вы снять блокировку и ждать, пока что-то еще сообщит вам, что оно изменилось, как вы можете в java с wait и notify?
Мне кажется, что синхронизация и блокировка в java и c # соответственно являются синонимами.