t bbsz l s g a b ng sz ben avagy merj nk e javascriptben programot rni
Download
Skip this Video
Download Presentation
Többszálúság a böngészőben, avagy merjünk-e Javascriptben programot írni?

Loading in 2 Seconds...

play fullscreen
1 / 24

Többszálúság a böngészőben, avagy merjünk-e Javascriptben programot írni? - PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on

Többszálúság a böngészőben, avagy merjünk-e Javascriptben programot írni?. Farkas Máté Budapest.js meetup 2010.04.14. A Javascript nem erre való!. http://weblabor.hu//blogmarkok/104451#comment-67266. A legnagyobb hátrány:.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Többszálúság a böngészőben, avagy merjünk-e Javascriptben programot írni?' - ovidio


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
t bbsz l s g a b ng sz ben avagy merj nk e javascriptben programot rni

Többszálúság a böngészőben, avagy merjünk-e Javascriptben programot írni?

Farkas MátéBudapest.js meetup 2010.04.14.

a javascript nem erre val

A Javascript nem erre való!

http://weblabor.hu//blogmarkok/104451#comment-67266

a legnagyobb h tr ny
A legnagyobb hátrány:
  • Amíg Javascriptben számítást végzünk, semmi más nem történhet a böngészőben
  • Kivétel jelenleg: Opera
  • És majd a Webkit 2 alapú böngészők
a megold s web worker
A megoldás: Web Worker
  • A Google Gears-féle WorkerPool szabványosítása, a HTML 5 része
  • A Worker egy teljesen különálló folyamatként dolgozik, csak a létrehozójával tud kommunikálni, és vele is csak üzenet küldéssel
slide5

index.html

hello.js

haszn lati el ny k
Használati előnyök
  • A böngésző „lefagyasztása nélkül” tudunk hosszabb számításokat végezni
  • Kihasználhatóak a több magos processzorok
  • demo
t bbsz l teljes tm ny
Többszálú teljesítmény

http://www.yafla.com/dforbes/Web_Workers_and_You__A_Faster_More_Powerful_JavaScript_World/

b ng sz t mogat s
Böngésző támogatás
  • Chrome: minden worker új process
  • Safari: minden worker új szál
  • Firefox: nem string értékek küldése/fogadása is lehet
  • Opera: nem támogatja
  • Internet Explorer: nem támogatja
slide9

A Javascript lassú.

PHP 5.2: 5,26 sec

b ng sz t mogat s 2
Böngésző támogatás 2
  • A HTML 5 Worker nem kompatíbilis a Gears-féle WorkerPool-lal
  • Volt több próbálkozás szimulálni ezt a viselkedést (jsworker, ie-web-worker), de egyik sem kielégítő
emulatedworker js
emulatedWorker.js
  • Elég ezt betölteni, és a Worker API-t használó Javascript futni fog minden böngészőben…
  • … de ettől nem lesz többszálú…
  • … és komolyabb adatszerkezetek-nél bonyolult az üzengetés
objectworker js
objectWorker.js
  • Egy intuitív absztrakció a Workerek használatához
  • (Típusjelzéssel ellátott) objektumok küldése/fogadása
  • Eljárás hívás
sszefoglal s
Összefoglalás
  • Kis odafigyeléssel ma már írhatunk programot Javascriptben
  • Weboldalak esetén egyszerűen küldhetjük háttérbe a számítási feladatokat
  • Worker-képes böngészővel teher-mentesíthető a szerverünk
k sz n m a figyelmet

Köszönöm a figyelmet!

Farkas MátéBudapest.js meetup 2010.04.14.

forr sk dok forr sok
Forráskódok, források
  • HTML 5 Web Workers http://www.whatwg.org/specs/web-workers/current-work/
  • Mozilla MDC https://developer.mozilla.org/En/DOM/Worker
  • http://www.yafla.com/dforbes/Web_Workers_and_You__A_Faster_More_Powerful_JavaScript_World/
  • http://ejohn.org/blog/how-javascript-timers-work/
  • Forráskódok: http://fmate14.try.hu/2010/bpjs-objectWorker/
  • objectWorker és emulatedWorker: http://code.google.com/p/object-worker/
ad