【发布时间】:2016-10-07 11:55:53
【问题描述】:
似乎对于低级反应系统来说,一个不断侦听检查用户输入的循环可能会产生一些开销。我很好奇,是否有可能有一个程序具有真正的待机模式,在等待用户输入之前它没有开销。我正在考虑类似于一系列堆叠的多米诺骨牌,无需开销即可持续维护,但可以通过用户输入以某种方式推倒。
【问题讨论】:
标签: loops events event-handling listener
似乎对于低级反应系统来说,一个不断侦听检查用户输入的循环可能会产生一些开销。我很好奇,是否有可能有一个程序具有真正的待机模式,在等待用户输入之前它没有开销。我正在考虑类似于一系列堆叠的多米诺骨牌,无需开销即可持续维护,但可以通过用户输入以某种方式推倒。
【问题讨论】:
标签: loops events event-handling listener
典型的事件驱动编程完全不依赖于轮询循环。 通常,您将事件附加到一个委托,该委托是从另一块代码(引发事件的事物)中专门调用的。唯一真正涉及的循环是因为您可以在委托上有许多订阅者,因此您需要循环它们才能调用它们,仅此而已。现在监听命令行输入的东西可能正在使用轮询循环,但这实际上不是事件编程。
public string Input
{
set
{
if(!string.isnullorempty(value))
{
this.input = value;
callInputAddedEvents(value);//this loops a list of delegates to call them
}
}
}
【讨论】: