Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 有没有可能在不使用循环的情况下使用事件驱动程序?_Loops_Events_Event Handling_Listener - Fatal编程技术网

Loops 有没有可能在不使用循环的情况下使用事件驱动程序?

Loops 有没有可能在不使用循环的情况下使用事件驱动程序?,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
        }
    }
}

通常,事件驱动编程根本不依赖于轮询循环。 通常,您会将事件附加到一个委托,该委托是专门从另一段代码(引发事件的东西)调用的。唯一真正涉及的循环是因为您可以在委托上有许多订阅者,所以您需要循环他们来调用他们,但仅此而已。现在监听命令行输入的东西可能正在使用轮询循环,但这实际上不是事件编程

public string Input
{
    set
    {
        if(!string.isnullorempty(value))
        {
          this.input = value;
          callInputAddedEvents(value);//this loops a list of delegates to call them
        }
    }
}