Mitä ovat verkkotyöntekijät?

Tässä artikkelissa on kyse verkkotyöntekijöiden hyödyntämisestä ja heidän merkityksestään yhdellä säikeellä rakennetussa HTML5.Java-komentosarjamoottorissa, eikä niiden takana ole samanaikaista prosessia (mitään muuta prosessia ei suoriteta ennen kuin ensimmäinen prosessi on valmis). Koska javascript toimii etualalla ja tekee verkkosivulta aikaa vievää. Siksi tämän mojovaisen ongelman välttämiseksi HTML5 on keksinyt uuden tekniikan, nimeltään verkkotyöntekijät. Se on pieni taustakomentosarja, joka laskee kalliissa tehtävissä häiritsemättä käyttöliittymää tai verkkosivun suorituskykyä. Tämä eristetty säie on suhteellisen kevyt ja sitä tuetaan kaikissa selaimissa. Tämä tekee HTML: stä lisäkierrosten käynnistämisen.

Tyypit verkkotyöntekijöitä HTML5: ssä

Verkkotyöntekijöitä kutsutaan myös ”omistautuneiksi työntekijöiksi”. He saivat erillisen jaetun muistimallin. Toisin sanoen voidaan sanoa, että koko javascriptin laajuus tapahtui yhdellä säikeellä. Verkkoselaimessa työskennellessämme olemme havainneet jonkin kiitotien valintaikkunan sivun raskaan käsittelyn vuoksi. Hyvän ratkaisun tarjoamiseksi Web-selaimen HTML API on keksinyt eri laskutoimitukset samanaikaisesti.

Seuraavassa esitetään kolme tärkeätä tyyppiä verkkotyöntekijöitä:

1. Jaettu verkkotyöntekijä

Tämä tyyppi käyttää sovellusliittymää ja jokaisella työntekijäyksiköllä on useita yhteyksiä lähettäessään viestiä (useita komentosarjoja), jos kukin konteksti on samasta alkuperästä. Selaimen tuki tälle työntekijälle on rajoitettua. Niitä kutsutaan jaetun työntekijän () konstruktorilla.

2. Omistettu verkkotyöntekijä

Tiedoston luominen on hyvin yksinkertaista vain soittamalla rakentajalle lähdepolullaan. He käyttävät viestinsiirtoa, jota kutsutaan post message () -menetelmäksi viestin siirron aikana. Jopa tapahtumien käsittelijöitä käytetään, kun jokin kuuntelija tapahtuu. Käsittelijä onmessa () -viestiä käytetään viestin vastaanottamiseen.

3. Huoltotyöntekijä

Tämä työntekijä ei ole suoraan vuorovaikutuksessa verkkosivun kanssa ja toimii taustalla. Ne voivat palauttaa tarvittaessa ja toimivat välityspalvelimena, niihin pääsee useilla säieillä.

Kuinka luoda verkkotyöntekijöiden tiedosto?

Heillä ei ole tukea joillekin ominaisuuksille, kuten ikkunaobjektille, DOM, vanhemmiobjektille. Kaikki toiminnot suoritetaan lähettämällä niistä kopio.

Vaihe 1: Luo tiedostojen tuonti Worker () -rakentaja Tiedosto luodaan käyttämällä uutta objektia, ja komentosarja näyttää.

var worker = new Worker(sample.js);

Vaihe 2: Viestin luominen (). Luotut työntekijätiedostot kutsuvat automaattisesti viesti () -menetelmän käyttöön. Postiviesti () -menetelmät ohjaavat viestin, joka kulkee pääketjuun. Ja samoin voimme lähettää viestin pääkierrosta työntekijän säieeseen. Täältä työntekijä aloittaa.

worker. postMessage();

Vaihe 3: Seuraava heittää tapahtumakäsittelijä, jotta viesti sallitaan verkkotyöntekijältä.

worker. onmessage = function(event)

Tästä eteenpäin olemme nähneet kuinka lähettää ja vastaanottaa viestejä. Nyt katsotaan kuinka lopettaa työntekijä prosessin keskellä.

Vaihe 4: Prosessin lopettaminen.

worker.terminate()

Vaihe 5: Työntekijän käyttämät virheenkäsittely-skenaarion toteuttamiseksi.

Worker.onerror();

HTML5-verkkotyöntekijöiden 9 parasta ominaisuutta

  1. Verkkotyöntekijät olivat asynkronisia protokollia, jotka soveltuivat parhaiten laskennallisiin tehtäviin ja joita pidettiin Javascriptin ammatillisina piirteinä.
  2. Verkkotyöntekijät maksavat tiukan toteutusalustan mobiili- ja työpöytäikkunoista, antamalla verkkosivun ajaa jäädyttämättä verkkosivua selaimissa.
  3. Tärkein etu on, että pystymme suorittamaan kalliita prosesseja yhdessä yksittäisessä säikeessä, joka ei keskeytä käynnissä olevaa päälankaa.
  4. Verkkotyöntekijät ovat pieniä, valopainotettuja lankoja, jotka elävät yksittäin lomittaen käyttöliittymän.
  5. Verkkotyöntekijät, jotka ovat ytimeen suuntautuneita ketjuja, auttavat pääsemään selainsivun korkeaan suorituskykyyn.
  6. Verkkotyöntekijät auttavat luomaan rinnakkaisohjelmointia ja suorittavat moniajoja.
  7. Verkkotyöntekijät lisäävät Java JScript -sovelluksen nopeutta.
  8. Web-työntekijää pidetään asiakaspuolen komentosarjana ja sitä käytetään korkeammin peleissä.
  9. Verkkotyöntekijän viestiketjut kommunikoivat keskenään post Message () -soitto-menetelmällä.

Esimerkkejä HTML5-verkkotyöntekijöistä

Verkkotyöntekijöillä on pääsy navigaattoriin, XMLHTTP Request, Navigatoriin monikäsittelytoimiensa vuoksi. Seuraava esimerkki keskittyy osoitettaviin työntekijöityyppeihin.

Esimerkki # 1

Näyttää työntekijämallitiedoston, joka osoittaa selaimen toiminnan.

Koodi:



Web Worker Demo

Validating the browser compatibility of Web Browsers

Submit
function worker_demo()
(
if(typeof(Worker)!=="undefined")(
document.getElementById("yes").innerHTML=" Browser Supports";
)
else
(
document.getElementById("NO").innerHTML="Browser Not Supporting the workers";)
)



Web Worker Demo

Validating the browser compatibility of Web Browsers

Submit
function worker_demo()
(
if(typeof(Worker)!=="undefined")(
document.getElementById("yes").innerHTML=" Browser Supports";
)
else
(
document.getElementById("NO").innerHTML="Browser Not Supporting the workers";)
)



Web Worker Demo

Validating the browser compatibility of Web Browsers

Submit
function worker_demo()
(
if(typeof(Worker)!=="undefined")(
document.getElementById("yes").innerHTML=" Browser Supports";
)
else
(
document.getElementById("NO").innerHTML="Browser Not Supporting the workers";)
)

lähtö:

Esimerkki 2

Seuraava esimerkki osoittaa, kuinka työntekijän tehtävät ajavat tehtävän takana luokkaa käyttäen ja laskenta tehdään työntekijän tehtäville. Työntekijän tehtävät päivittävät verkkosivun automaattisesti jokaisessa silmukassa, kunnes silmukka loppuu. Työntekijän suorituksen lopettamiseksi on tässä käytetty termi ().

Verkkotyöntekijän taustan takana tekemä työ:

Koodi:

wrk.html




Web Workers Demo
body (padding-top:18px;)
.output-cont (margin-left:12%; margin-top:28px;)
.output-cont h2 (width:150px; height:95%;)
.output-cont button (padding:3px 7px; font-size:1.3rem; font-family:sans-serif; )

start worker terminate

start blocking thread

test responsiveness
var worker;
function testWork() (
if (typeof(Worker) !== "undefined") (
if (typeof(worker) == "undefined") (
worker = new Worker("demo.js");
)
worker.onmessage = function(event) (
document.getElementById("wOutput").innerHTML = event.data;
);
) else (
document.getElementById("wOutput").innerHTML = "Web Workers are unsupported";
)
)
function stopWorker() (
worker.terminate();
worker = undefined;
)
function test() (
for (var j = 0; j < 20000; j++) (
document.getElementById("mainThreadOutput").innerHTML = "Main Thread Counter: " + j;
)
)

Next creating an separate external javascript file demo.js and the code comes as shown.
demo.js
j = 0;
while (j < 200000)
( postMessage("Web Worker Counter: " + j);
j++;
)



Web Workers Demo
body (padding-top:18px;)
.output-cont (margin-left:12%; margin-top:28px;)
.output-cont h2 (width:150px; height:95%;)
.output-cont button (padding:3px 7px; font-size:1.3rem; font-family:sans-serif; )

start worker terminate

start blocking thread

test responsiveness
var worker;
function testWork() (
if (typeof(Worker) !== "undefined") (
if (typeof(worker) == "undefined") (
worker = new Worker("demo.js");
)
worker.onmessage = function(event) (
document.getElementById("wOutput").innerHTML = event.data;
);
) else (
document.getElementById("wOutput").innerHTML = "Web Workers are unsupported";
)
)
function stopWorker() (
worker.terminate();
worker = undefined;
)
function test() (
for (var j = 0; j < 20000; j++) (
document.getElementById("mainThreadOutput").innerHTML = "Main Thread Counter: " + j;
)
)

Next creating an separate external javascript file demo.js and the code comes as shown.
demo.js
j = 0;
while (j < 200000)
( postMessage("Web Worker Counter: " + j);
j++;
)



Web Workers Demo
body (padding-top:18px;)
.output-cont (margin-left:12%; margin-top:28px;)
.output-cont h2 (width:150px; height:95%;)
.output-cont button (padding:3px 7px; font-size:1.3rem; font-family:sans-serif; )

start worker terminate

start blocking thread

test responsiveness
var worker;
function testWork() (
if (typeof(Worker) !== "undefined") (
if (typeof(worker) == "undefined") (
worker = new Worker("demo.js");
)
worker.onmessage = function(event) (
document.getElementById("wOutput").innerHTML = event.data;
);
) else (
document.getElementById("wOutput").innerHTML = "Web Workers are unsupported";
)
)
function stopWorker() (
worker.terminate();
worker = undefined;
)
function test() (
for (var j = 0; j < 20000; j++) (
document.getElementById("mainThreadOutput").innerHTML = "Main Thread Counter: " + j;
)
)

Next creating an separate external javascript file demo.js and the code comes as shown.
demo.js
j = 0;
while (j < 200000)
( postMessage("Web Worker Counter: " + j);
j++;
)

lähtö:

johtopäätös

Loppujen lopuksi olemme nähneet, kuinka verkkotyöntekijät toimivat riippumattomasti pääkierteestä, joka auttaa verkko-organisaatioita tekemään vaativia sovelluksia. Ja on erittäin suositeltavaa käyttää Web-työntekijöitä javascript-ohjelmassa raskaisiin tehtäviin. Kun selainta ei enää käytetä, ehdotetaan, että se suljetaan järjestelmän resurssien käyttämiseksi.

Suositeltava artikkeli

Tämä on opas HTML5-verkkotyöntekijöille. Tässä keskustellaan HTML5-verkkotyöntekijöiden 9 parhaasta ominaisuudesta ja sen esimerkeistä koodin toteutuksen kanssa. Voit myös käydä läpi ehdotetut artikkelimme saadaksesi lisätietoja -

  1. Html5 uudet elementit | 10 parasta
  2. HTML-kehykset syntaksilla
  3. Johdatus HTML: n etuihin
  4. 10 parasta HTML5-haastattelua koskevaa kysymystä ja vastausta