Идея обратного вызова состоит в том, чтобы начать какое-то действие, а затем сделать что-то еще, пока действие не завершится.
Пример из реального мира - позвонить сантехнику для ремонта. Водопроводчик говорит, что они в настоящее время на рабочем месте и не могут увидеть их график на следующий день прямо сейчас. Однако сантехник говорит, что они будут в офисе позже и смогут проверить свое расписание. Затем сантехник обещает перезвонить вам, когда они окажутся в офисе и смогут проверить расписание. Затем вы можете сесть рядом с телефоном и подождать ответного телефонного звонка (блокировка обратного вызова) или прочитать книгу или раскрасить дом до тех пор, пока сантехник не перезвонит (отложенный обратный звонок).
В C функция обратного вызова - это тело функции, которое указывается в качестве обратного вызова. Адрес функции, указатель функции, предоставляется вызываемой функции для выполнения какого-либо действия. Когда действие завершено, вызывается функция обратного вызова, чтобы сделать что-то, обычно некоторую форму очистки и / или уведомления.
Обычно обратный вызов используется, когда вызывается функция для запуска какого-либо действия, а затем немедленно возвращается к вызывающей стороне до того, как действие завершается и его результат известен. Обратный вызов используется как способ уведомления о результате действия, когда запущенное действие завершено.
Другой формой обратного вызова является регистрация функции для события, чтобы при возникновении события функция вызывалась для выполнения чего-либо. Поэтому вы можете указать обратный вызов при получении события щелчка мыши.
Прокси-класс - это класс, который действует как интерфейс для класса. Вы можете думать о прокси-классе как о похожем на дублера, который делает опасные вещи для актера. Или доверенным лицом собрания акционеров является физическое или юридическое лицо, которое заменяет фактического акционера для выполнения определенных обязанностей для акционера.
Обратный вызов не является прокси-сервером, хотя обратный вызов может использоваться прокси-сервером как часть функциональности, необходимой для выполнения его функций прокси.