У меня есть два независимых процесса: один использует вызовы функции обратного вызова, а другой - обычные вызовы функций. Какой процесс будет выполняться быстрее?Прямые вызовы функций выполняются быстрее, чем вызовы функций обратного вызова?
ответ
Как сказал Сринувену, вызов функции обратного вызова подобен вызову функции. Когда вы вызываете указатель на функцию, происходит то, что извлекается адрес функции в указателе. У вас есть следующие сценарии:
Прямой вызов функции:
Выполнить код по указанному адресу.
Обратный вызов функции:
Получить адрес функции → Execute код по указанному адресу.
Как вы можете видеть, вызов функции обратного вызова добавляет дополнительный шаг: получение адреса функции. В заключение, использование обратных вызовов медленнее, чем прямые вызовы функций, а потому, что шаг получения адреса очень быстрый (как указано ниже в Mabus), скорости звонка должны быть очень похожими.
Но этот шаг очень быстрый. Фактически, большинство языков программирования OO постоянно используют обратные вызовы для достижения полиморфизма. – Mabus
- 1. Как выполняются конкатенированные вызовы функций в JavaScript?
- 2. Переменные внутри функций + обратные вызовы
- 3. C# - сократить вызовы функций
- 4. Javascript - ошибочные вызовы функций
- 5. Отложенные вызовы функций
- 6. Сменные вызовы функций и функций из строк
- 7. Множественные асинхронные вызовы функций
- 8. Как разрешаются вызовы функций?
- 9. Синхронные вызовы функций
- 10. C++ неявные вызовы функций
- 11. Полиморфизм C++, вызовы функций
- 12. Динамические вызовы функций класса
- 13. вызовы функций между классами
- 14. Динамически создавать вызовы функций
- 15. Optimization игнорировать вызовы функций
- 16. Python - Вызываемые вызовы функций
- 17. Рекурсивные вызовы функций неназванных функций JavaScript
- 18. Как «Yacc» идентифицирует вызовы функций?
- 19. Вложенные вызовы функций в Bash
- 20. Можно ли переадресовать вызовы функций
- 21. Вложенные вызовы функций в Perl
- 22. Примеры эффективного использования функций обратного вызова
- 23. Рекурсивные вызовы функций Throw StackOverFlowException
- 24. Указатели функций и обратные вызовы в C
- 25. дротик: завернуть все вызовы функций
- 26. cProfile.run вызовы функций против сложности
- 27. Ptyon ctypes и вызовы функций
- 28. Регулярное выражение: найти вызовы функций
- 29. Асинхронные вызовы функций в Qt
- 30. Функциональные вызовы функций за кадр
Что вы подразумеваете под «функцией обратной связи»? – Mabus
Функция обратного вызова - это ничего, но с помощью указателей на функции – srinuvenu
Это, похоже, не имеет ничего общего с программированием. – Vatine