Java Reference
In-Depth Information
durchführen wollen, die sich auf den DOM auswirken sollen, müssen Sie
Nachrichten an den Aufrufer des Worker schicken und der muss sich darum
kümmern.
14.1.2■Kommunikation mit einem Web Worker
Sie müssen sich beim Einsatz eines Web Worker darüber klar sein, dass Sie im Grunde
einen Masterprozess haben, der die normale Logik der Applikation steuert (etwa die Anwen-
deraktionen überwacht), und einen parallelen Prozess, der diesem Masterprozess zuarbei-
ten soll. Dabei wird der Masterprozess nicht nur den Worker meist irgendwie überwachen,
steuern und gegebenenfalls beenden  - diese beiden Prozesse müssen in der Regel auch
miteinander kommunizieren. Die Kommunikation mit so einem Hintergrundprozess erfolgt
mit einem neu eingeführten JavaScript-Eventhandler onmessage , für den es kein HTML-
Gegenstück gibt. Bei diesem wird wie üblich ein Callback registriert. Beispiel:
Listing 14.2■ Registrierung einer Funktionsreferenz bei einem Web Worker
thread1.onmessage=reaktion;
Wenn von dem Web Worker ein Ergebnis geliefert wird, wird die entsprechend referenzierte
Funktion ausgeführt. Schon daran können Sie erkennen, dass wir uns rein im Umfeld von
JavaScript respektive DOM bewegen und HTML nur als Rahmen dieser Technik dient. Das
Worker -Objekt selbst kann nun mittels der Funktion/Methode postMessage() Nachrichten
an seinen Erzeuger versenden und von diesem auch erhalten.
14.1.3■Einen Worker mit terminate() beenden
Ein einmal gestarteter Web Worker kann wie eine Art „Server“ auf Befehle und Nachrichten
von seinem Masterprozess warten. Das ist eine Folge der ereignisbasierenden Konzeption.
Deshalb muss man einen Web Worker in der Regel wieder explizit anhalten - sofern er nicht
so programmiert ist, dass er sich nach einer gewissen Aufgabe selbst beseitigt. Wir werden
das in einem Beispiel sehen. Um einen Hintergrundprozess anzuhalten bzw. zu beenden,
stellen Worker -Objekte die Methode terminate() zur Verfügung.
14.1.4■Beispiele zu Web Worker
Kommen wir zu ein paar Varianten, wie man Web Worker einsetzen kann. Beachten Sie,
dass Browser wie gesagt nicht alle Möglichkeiten derzeit vollständig und identisch unter-
stützen und die Art der Nutzung von Web Workers durch den Verzicht auf DOM-Objekte
beschränkt ist. Was Sie aber konkret innerhalb dieses Rahmens damit machen, ist nur
durch Ihre Fantasie vorgegeben. Hier inden Sie also nur ein paar Anregungen, wie man da
vorgehen kann.
Search WWH ::




Custom Search