代码之家  ›  专栏  ›  技术社区  ›  Soviut

为什么信号不能简单地称为事件?

  •  4
  • Soviut  · 技术社区  · 16 年前

    据我所知,在Python和Django中,信号只是委托事件。在功能上是否有什么区别于C#、Java、ActionScript等中典型的事件概念?

    4 回复  |  直到 16 年前
        1
  •  24
  •   John Feminella    16 年前

    事实上,“信号”出现的时间比事件发生的时间要长。在最早的使用中,信号是一种异步方式,用于通知进程已发生事件。由于Unix比Django早得多(而且Django的许多工作都是从pydispatcher完成的,而pydispatcher就是最初的工作所在),所以这个名字一直沿用至今。

        2
  •  4
  •   Ben Collins    16 年前

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

        3
  •  2
  •   Dustin Getz sunsations    16 年前

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

        4
  •  1
  •   Logan Capaldo    16 年前

    你不妨问“为什么事件不简单地称为信号?”。术语上的差异也会发生。