【发布时间】:2010-10-12 02:38:32
【问题描述】:
据我所知,在 Python 和 Django 中,信号只是委托事件。有什么可以在功能上将它们与 C#、Java、ActionScript 等中的典型事件概念区分开来吗?
【问题讨论】:
标签: python signals django-signals
据我所知,在 Python 和 Django 中,信号只是委托事件。有什么可以在功能上将它们与 C#、Java、ActionScript 等中的典型事件概念区分开来吗?
【问题讨论】:
标签: python signals django-signals
信号通常与操作系统设施相关联,而事件通常是应用程序定义的。在某些技术堆栈中,操作系统级别的东西可能隐藏得足够好,以至于 API 没有区别,但在其他技术堆栈中可能没有。
【讨论】:
您不妨问“为什么不简单地将事件称为信号?”。术语不同。
【讨论】:
Afaik Qt 有第一个信号/插槽实现。 Qt's docs 解释比喻:“当特定事件发生时发出信号”。区别是如此微妙,以至于术语已经模糊。
【讨论】:
实际上,“信号”的存在时间比事件要长。在最早的用法中,信号是进程获取事件发生通知的一种异步方式。由于 Unix 比 Django 早得多(而且由于 Django 的许多工作都来自 pydispatcher,原来的东西就是在那里完成的),所以这个名字一直存在。
事件确实是信号,你可能会说!
【讨论】: