4

据我所知,在 Python 和 Django 中,信号只是委托事件。有什么可以在功能上将它们与 C#、Java、ActionScript 等中的典型事件概念区分开来吗?

4

4 回答 4

24

实际上,“信号”的存在时间比事件要长。在最早的用法中,信号是进程获取事件发生通知的一种异步方式。由于 Unix 比 Django 早得多(而且由于 Django 的许多工作都来自 pydispatcher,原来的东西就是在那里完成的),所以这个名字一直存在。

事件真的是信号,你可能会说!

于 2009-03-09T02:52:18.457 回答
4

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

于 2009-03-09T02:47:44.410 回答
2

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

于 2009-03-09T02:51:10.520 回答
1

您不妨问“为什么事件不简单地称为信号?”。出现术语差异。

于 2009-03-09T02:49:20.587 回答