Wat Is Signal Programming?

"Signal programmeren" is een term die vaak gebruikt voor een computerprogramma dat functioneert voornamelijk in reactie op signalen en gebeurtenissen die worden gegenereerd door een verandering van toestand, of door gebruikersinvoer. Bijna een deel van een computersysteem, van een randapparaat om het besturingssysteem zelf, kan een signaal dat kan worden opgevangen door een toepassing en verwerkt genereren. In vele vormen, signaal programmeren lijkt event-driven programmeren. Enkele van de meest voorkomende toepassingen voor signaal programmeren zijn met grafische gebruikersinterfaces die reageren op input van de gebruiker, netwerk communicatie en low-level programma's die afvang en specifiek systeem signalen te verwerken.

Een signaal in computer programmering worden gedefinieerd als een bericht, een gebeurtenis of een interrupt, afhankelijk van de oorsprong, de systeemarchitectuur of zelfs de voorkeur van de programmeur. In de ruimste zin is een indicatie dat bepaalde toestand of stukje data is veranderd en soms gepaard gaat met bijkomende informatie over de verandering die heeft plaatsgevonden. Het signaal kan worden opgewekt door de gebruiker wanneer een toets wordt ingedrukt, van hardware zoals een monitor als een verticaal terugzoeken optreedt, of zelfs van het besturingssysteem wanneer iets zoals een pagina fout tijdens geheugentoewijzing gebeurt.

Binnen een applicatie, signaleren programmering kan op verschillende soorten architecturen te nemen, maar een van de meest voorkomende is een luisteraar of waarnemer model. In deze werkwijze kan een stuk gebruiker gedefinieerde code doorgegeven andere manier om een ​​signaal behandelaar, meestal binnen het besturingssysteem, dat vervolgens noemt dat stukje code geen signalen die overeenkomen met wat de functie zoekproces. Het type signaal een functie vaak voeren wordt bepaald door een variabele bekend als een signaal masker, zodat sommige signalen worden niet doorgegeven aan routines niet om ze te behandelen.

Een tweede type signaal programmeren impliceert het hebben van een programma dat een wachtrij die binnenkomende signalen accepteert implementeert. Deze wachtrij is opgevraagd in de grote uitvoering lus van het programma en het programma reageert zodra er een signaal komt in de wachtrij. Elk signaal dan kan logisch worden gesorteerd, op-, genegeerd of doorgegeven aan een ander proces.

Sommige problemen kan leiden signaal programmeren wanneer gelijktijdige processen of multi-threaded applicaties worden gebruikt. De complicaties kunnen zich voordoen indien bijvoorbeeld twee afzonderlijke draden luisteren naar signalen van twee afzonderlijke gebruikersinvoer apparaten of twee netwerkcontactdozen. Als twee gebruikers tegelijkertijd proberen een verandering sommige gegevens maken dan de programmagegevens konden synchronisatie vallen en lijken verschillend voor elke gebruiker. Met behulp van een lineaire wachtrij of uitvoering draad synchronisatie methoden kunnen helpen om deze situatie te voorkomen.