ugrás a tartalomhoz

Archívum - Okt 31, 2018

Dátum

Event table / queue / loop és a többiek

mahoo · Okt. 31. (Sze), 10.57
Sziasztok, kicsit elkezdtem utanaolvasni a JS engine mukodeserol es a bongeszovel valo kapcsolatarol. Par dolog vilagossa valt, de van olyan kerdes amirol egymasnak ellentmondo infokat talalok.

Most nagyon roviden leirnam, hogy eddig mire jutottam es mi az ami meg mindig nem vilagos szamomra.
Megkoszonem, ha valaki megerositene/cafolna az altalam leirtakat, es a kerdesekben barmilyen infoval szolgalna.


1. Maga a JS engine egyszalu, szinkron mukodesu (call stack LIFO), a bongeszoben futo JS mar kepes futni aszinkron modon.
2. A JS kornyezet resze (ami biztos): a heap es a call stack
3. *Az event queue-ban nem vagyok biztos... Ez a JS engine vagy a browser resze?
4. Az aszinkron mukodest a bongeszo segit megvalositani, melynek resze a browser API-k (pl. timer) es melyben implementalva van az event loop is.
5. Az event table a browser API-resze.
6. *Ha az event queue a JS engine resze, akkor az hogy tud mukodni event loop nelkul, ami mar nem az JS engine resze. Tudtommal az event loop pakolja a stack-re a queue-ban levo taszkokat. Esetleg van valami nagyon egyszeru mechanizmus implementalva az engine-n belul, ami kezeli a queue-t es a browser ezt kiegesziti vagy felul definialja?