Kaj so spletni delavci?
Ta članek govori o uporabi spletnih delavcev in njihovem pomenu v HTML5.Java skriptnem mehanizmu, sestavljenem z eno samo nitjo, za njimi pa ni sočasnega procesa (noben drug postopek se ne izvede, dokler se prvi postopek ne konča). Ker javascript deluje v ospredju in spletna stran naredi veliko časa. Zato se je HTML5 za izogibanje tej zajetni težavi lotil nove tehnologije z imenom Spletni delavci. Gre za majhen skript v ozadju, ki računa pri dragih opravilih, ne da bi posegal v uporabniški vmesnik ali delovanje spletne strani. Ta izolirana nit je relativno lahka in je podprta v vseh spletnih brskalnikih. Zaradi tega HTML zažene dodatne teme.
Vrste spletnih delavcev v HTML5
Spletne delavce imenujejo tudi "predani delavci". Dobili so ločen model skupnega spomina. Z drugimi besedami, lahko rečemo, da se je celoten obseg javascripta izvajal na eni niti. Med delom v spletnem brskalniku smo zaradi močne obdelave strani naleteli na nekakšno pogovorno sporočilo o vzletno-pristajalni stezi. Da bi zagotovili dobro rešitev, je spletni brskalnik HTML API zasnoval z različnimi izračuni hkrati.
Spodaj so podane tri pomembne vrste spletnih delavcev:
1. Skupni spletni delavec
Ta vrsta uporablja API in vsaka delovna enota ima več sporočil, medtem ko pošilja sporočilo (več skriptov), pod pogojem, da je vsak kontekst iz istega izvora. Podpora brskalnika za tega delavca je omejena. Kličejo jih s konstruktorjem v skupni rabi ().
2. Namenski spletni delavec
Ustvarjanje datoteke je zelo preprosto, če pokličete Konstruktor s svojo izvorno potjo. Med prenosom sporočil uporabljajo komunikacijsko sporočilo, imenovano metoda post message (). Celo poslušalci dogodkov se uporabljajo, ko nekdo posluša. Za prejemanje sporočila je uporabljen onmassage za obdelavo ().
3. serviser
Ta delavec neposredno ne deluje s spletno stranjo in deluje v ozadju. Obnovijo se lahko kadar koli zahtevajo in delujejo kot posrednik, do njih lahko dostopate z več niti.
Kako ustvariti datoteko spletnih delavcev?
Nimajo podpore za nekatere funkcije, kot so okenski objekt, DOM, nadrejeni objekt. Vse funkcije se opravijo tako, da se pošlje njihova replika.
1. korak: Ustvarjanje datoteke za uvoz konstruktorja Worker () Datoteka je ustvarjena z novim objektom in skript je videti.
var worker = new Worker(sample.js);
2. korak: Ustvarjanje sporočila (). Ustvarjene datoteke delavcev samodejno prikličejo metodo post message (). Načini objave () sporočila usmerjajo sporočilo v glavno nit. In podobno lahko delavski niti pošljemo sporočilo iz glavne niti. Tukaj se začne delavec.
worker. postMessage();
Korak 3: Nato vrzite upravljavca dogodkov in dovolite sporočilo spletnemu delavcu.
worker. onmessage = function(event)
Odslej smo videli, kako pošiljati in prejemati sporočila, zdaj pa poglejmo, kako odpraviti delavca sredi postopka.
4. korak: Zaustavitev postopka.
worker.terminate()
5. korak: Za izvajanje scenarija ravnanja z napakami delavec uporablja.
Worker.onerror();
Najboljših 9 funkcij spletnih delavcev HTML5
- Spletni delavci, ki so asinhroni protokol, so bili najbolj primerni za opravljanje računskih nalog in veljajo za profesionalne lastnosti Javascripta.
- Spletni delavci plačajo strogo izvedbeno platformo za okna za mobilne in namizne računalnike in omogočajo, da spletno stran zaženejo, ne da bi zamrznili spletno stran v brskalnikih.
- Glavna prednost je, da lahko izvajamo drage procese znotraj posamezne niti, ki ne prekine delujoče glavne niti.
- Spletni delavci so majhne lahke niti v živo posamično prepletajo uporabniški vmesnik.
- Spletni delavci, ki so usmerjeni v jedro, pomagajo doseči visoko zmogljivost strani brskalnikov.
- Spletni delavci pomagajo pri ustvarjanju vzporednih programov in izvajajo večbesedne akcije.
- Spletni delavci povečujejo hitrost aplikacije Java Java.
- Spletni delavec velja za scenarij na strani odjemalca in se uporablja bolj v aplikacijah za igre.
- Niti spletnega delavca komunicirajo med seboj po metodi povratnega klica po sporočilu ().
Primeri spletnih delavcev HTML5
Spletni delavci imajo dostop do navigatorja, XMLHTTP Zahteve, Navigatorja zaradi svojih dejavnosti večpredelovalne obdelave. Spodnji primer se osredotoča na namenske vrste delavcev za prikaz.
Primer # 1
Prikaže datoteko Sample Worker, ki prikazuje delovanje brskalnika.
Koda:
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";)
)
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";)
)
Izhod:
Primer # 2
Naslednji primer prikazuje, kako delavske naloge tečejo za nalogo s pomočjo razreda in štetje se opravi za delavčeve naloge. Naloge delavca spletno stran samodejno posodobijo v vsaki zanki, dokler se zanka ne konča. Za zaključek izvršbe delavca se tukaj uporablja termin ().
Naloga, ki jo je v ozadju opravil spletni delavec:
Koda:
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++;
)
Izhod:
Zaključek
Za konec smo videli, kako spletni delavci delujejo neodvisno od glavne niti, ki spletnim organizacijam pomaga pri izdelavi zahtevnih aplikacij. Priporočljivo je, da spletne delavce v JavaScript uporabljate za težja opravila. Ko se spletni brskalnik ne uporablja več, je treba zapreti, da porabi sistemske vire.
Priporočeni članek
To je vodnik za spletne delavce HTML5. Tukaj razpravljamo o prvih 9 funkcijah spletnih delavcev HTML5 in njegovih primerih z izvajanjem kode. Obiščite lahko tudi naše predlagane članke, če želite izvedeti več -
- Html5 Novi elementi | Top 10
- Okvirji HTML s sintakso
- Uvod v prednosti HTML
- Prvih 10 vprašanj in odgovorov z intervjujem HTML5