Почему сигналы не просто называются событиями? - PullRequest
4 голосов
/ 09 марта 2009

Из того, что я могу сказать, в Python и Django сигналы - это просто делегированные события. Есть ли что-нибудь, что функционально отличает их от типичного представления о событиях в C #, Java, ActionScript и т. Д.?

Ответы [ 4 ]

24 голосов
/ 09 марта 2009

На самом деле, «сигналы» были дольше, чем события. При самом раннем использовании сигнал был асинхронным способом для процессов получать уведомления о произошедших событиях. Поскольку Unix намного старше, чем Django (и поскольку большая часть работы над Django пришла от pydispatcher, где был сделан оригинальный материал), название застряло.

События - это действительно сигналы, можно сказать!

4 голосов
/ 09 марта 2009

Сигналы обычно связаны с возможностями операционной системы, а события обычно определяются приложением. В некоторых технологических стеках вещи уровня ОС могут быть спрятаны достаточно хорошо, чтобы не было разницы в API, но в других, возможно, нет.

2 голосов
/ 09 марта 2009

Afaik Qt имеет первую реализацию сигнал / слот. Документы Qt объясняют метафору: "Сигнал испускается, когда происходит определенное событие". Различие настолько тонкое, что номенклатура размыта.

1 голос
/ 09 марта 2009

Вы могли бы также спросить: «Почему события просто не называются сигналами?». Различия в терминологии случаются.

...