为什么信号不仅称为事件?

时间:2009-03-09 02:42:37

标签: python signals django-signals

据我所知,在Python和Django中,信号只是委托事件。是否存在功能上与C#,Java,ActionScript等中典型的事件概念区别开来的东西?

4 个答案:

答案 0 :(得分:24)

实际上,“信号”比事件更长。在最早的使用中,信号是进程通知事件已发生的异步方式。由于Unix比Django大很多(因为很多Django的工作来自pydispatcher,原来的东西已经完成了),这个名字已经停滞不前了。

你可能会说,事件确实是信号!

答案 1 :(得分:4)

信号通常与操作系统工具相关联,而事件通常是应用程序定义的。在某些技术堆栈中,操作系统级别的内容可能会被隐藏得足够好,以至于API没有差异,但在其他技术堆栈中可能没有。

答案 2 :(得分:2)

Afaik Qt有第一个信号/插槽实现。 Qt's docs解释了这个比喻:“当特定事件发生时会发出信号”。区别是如此微妙,以至于命名法已经模糊不清。

答案 3 :(得分:1)

您还可以问“为什么事件不仅仅被称为信号?”。术语的差异发生了。