“Aus Dem Haupt-Thread”

0
18

JavaScript ist, was Sie als “single-threaded.” Als Brian Barbour heißt es dazu:

Das bedeutet, es hat eine call-stack und einen heap-Speicher.

Wir alle fühlen, ein symptom, dass regelmäßig in form von performance-jank und nicht-Interaktivität auf Elemente oder ganze Seiten. Wenn wir Ihnen JavaScript viele Arbeitsplätze und es wird wirklich beschäftigt, dann ist es nicht andere Dinge zu tun, wie, sagen wir, im Umgang mit unseren event-Handler schnell.

Es wurde ein interessanter Punkt/Zähler-Punkt-combo vor kurzem entlang dieser Linien.

Das Surma wurde die Befürwortung für den Umzug so viel JavaScript aus dem Haupt-thread, wie du nur kannst. In der Tat, wenn es um die Verwendung von Web-worker, schlägt er vor:

Sie sollten immer die Verwendung von Web-Worker.

Web worker ist die primäre Methode zum ausführen von JavaScript aus dem Haupt-thread.

Es gibt viel zu beachten, natürlich, aber ich mag es, wie er vergleicht diese wie andere Sprachen aufrufen der Haupt-thread der “UI-thread.” Wenn das, was Sie tun, ist die UI-bezogene, tun Sie es auf der main-thread; wenn nicht, tun Sie es aus dem Haupt-thread. Ein Beispiel? State-management.

David Gilbertson muss gelesen haben, und schrieb:

Ich sah einen Artikel, der vor kurzem dem Fall, dass die Aktualisierung eine Redux-store war ein guter Kandidat für Web-Arbeiter, weil es keine UI-arbeiten (und nicht-UI-Arbeit gehört nicht auf den Haupt-thread). Die Ausdehnung der Verarbeitung der Daten über ein worker-thread klingt vernünftig, aber die Idee kam mir als ein wenig, hmm, Akademische.

David ist der wichtigste Punkt, so scheint es mir, ist, dass einige der vielen JavaScript-Dinge, die wir tun müssen, um in Reaktion auf Benutzer-initiierte Aktionen, bei denen der Benutzer warten muss, Dinge zu beenden, wie auch immer, so reagiert nicht UI während dieser Zeit ist OK. Aber für alles, das nicht vom Benutzer angestoßen und dauert länger als, sagen wir 100ms — er willigt ein Web Worker ist hilfreich.

(Ein Blick auf die 100ms Sache, es ist erwähnenswert, dass ein wichtiger Punkt Das Surma macht ist, dass die Welt ist voll von low-end-Handys — und wer weiß, was 100ms auf high-end-Telefon ist, wenn übersetzt, um auf einem low-end-Telefon.)