Förderjahr 2019 / Project Call #14 / ProjektID: 4605 / Projekt: OSMD AudioPlayer
Web Worker? Threads? Was ist das?
Die Aufgabe eines Web Workers ist es einer Webpage aufwendigere Tasks abzunehmen. Damit lassen sich zahlreiche Tasks gleichzeitig ausführen ohne das eine Website einfriert. Unter einem Thread versteht man einen Ausführungsstrang eines Programms, die unabhängig voneinander arbeiten können.
Durch diese Web Worker laufen die aufwendigeren Aufträge einer Webpage dann in einem anderen Thread. Man kann sich vorstellen, dass dieser Thread im Hintergrund laufen kann und sich dann wieder meldet wenn er seine Aufgabe erfüllt hat. Man kann natürlich mehrere Threads aneinander setzen und das ist auch ihr größter Vorteil.
Unsere Lösung
Hier ein kleines Diagramm zu unserer Vorgehensweise:
Für unseren OSMD Audio Player werden natürlich neue Bestandteile für das Playback und für die Interaktion vom User benötigt. Wir gehen es so an, dass wir Webworker bei der Playback Engine und beim Cursor & Display Controller einsetzen werden. Der Audio Framework-Thread übernimmt dann der jeweilige Webbrowser (z.B. Google Chrome) selbst. Das heißt also, dass der Audio Player in diesem Fall etwas externes nutzt und dadurch diese zusätzlichen Threads nichts direkt von uns programmiert werden müssen.