2016-06-07 6 views
0

Es scheint für reaktive Systeme auf niedriger Ebene eine Schleife zu sein, die ständig nach Benutzereingaben sucht, um ein wenig Overhead zu erzeugen. Ich bin neugierig, ist es möglich, ein Programm zu haben, das einen echten Stand-by-Modus hat, in dem es keinen Overhead gibt, bis ein Benutzer ihm eine Eingabe gibt. Ich denke an etwas, das einer Reihe von gestapelten Dominosteinen analog ist, die keinen Overhead benötigen, um sie konstant zu halten, aber auf eine bestimmte Art und Weise durch eine Eingabe des Benutzers gestürzt werden könnten.Ist es möglich, ereignisgesteuerte Programme ohne Schleifen zu verwenden?

Antwort

0

In der Regel ist die ereignisgesteuerte Programmierung nicht von Abfrageschleifen abhängig. Im Allgemeinen hängen Sie Ihr Ereignis an einen Delegaten an, der speziell von einem anderen Codeblock aufgerufen wird (die Sache, die das Ereignis auslöst). Die einzige echte Schleife ist, weil Sie viele Teilnehmer für den Delegaten haben können, also müssen Sie sie loopen, um sie anzurufen, aber das war's. Nun, etwas, das auf die Kommandozeile wartet, benutzt wahrscheinlich eine Polling-Schleife, aber das ist keine Event-Programmierung.

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