Matura: Systemtechnik

Nebenläufigkeiten & Asynchronitäten

Definition

Quelle: https://www.mediaevent.de/javascript/asynchron-synchron.html

Auswirkungen auf die Programmierung

Vor-/Nachteile

Quelle: http://bis.informatik.uni-leipzig.de/de/Lehre/0809/ss/LV/pattern/files?get=sdp09_nebenlaeufigkeit_frommhold_marvin.pdf

GUI-Programmierung

Threads

Konzeption

Semaphore

Quelle: http://ddi.cs.uni-potsdam.de/HyFISCH/Produzieren/SeminarDidaktik/Nebenlaeufigkeit/semaphor.htm

Critical Buffer

Deadlock

Deadlock oder Verklemmung bezeichnet in der Informatik einen Zustand, bei dem eine zyklische Wartesituation zwischen mehreren Prozessen auftritt, wobei jeder beteiligte Prozess auf die Freigabe von Betriebsmitteln wartet, die ein anderer beteiligter Prozess bereits exklusiv belegt hat. Eine andere Form der Blockierung von Prozessen ist der Livelock. Der Zustand eines Deadlocks kann als eine Menge von Prozessen definiert werden, in dem sich ein Deadlock befindet, sofern jeder dieser Prozesse auf ein Ereignis wartet, das nur ein anderer Prozess aus dieser Menge verursachen kann.

Quelle: https://de.wikipedia.org/wiki/Deadlock_(Informatik)

Fehlerbehebung

Wo werden Nebenläufigkeiten sinnvollerweise eingesetzt?

Wo liegen Performance-Bottlenecks und wie kann man diese beheben?

Welche Auswirkungen hat der Einsatz von Thread-Technologien auf die Komplexität?

Asynchronitäten (Definition, Auswirkungen auf die Programmierung)

Quelle: https://docplayer.org/75536196-Nebenlaeufigkeit-und-asynchronizitaet-in-eingebetteten-systemen-klaus-kusche-september-2012.html

Unterschied zur Nebenläufigkeit

Quelle: https://docplayer.org/75536196-Nebenlaeufigkeit-und-asynchronizitaet-in-eingebetteten-systemen-klaus-kusche-september-2012.html

Wann setzt man Callbacks sinnvollerweise ein?

Auswirkungen auf die Komplexität

Kaskade von Callbacks

document.getElementById("Button1").addEventListener("click", function() {
	console.log("Button wurde gedrückt");
}, false);

Quelle: https://www.ionos.at/digitalguide/websites/web-entwicklung/was-ist-eine-callback-function/

Unterstützung durch Promises

new Promise(executor);
new Promise(function(resolve, reject) { ... });

Quelle: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Promise

Fehlerbehebung