ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-21, Tuesday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

JavaScript Event Loop සහ Concurrency Model: කේතයේ වේගය වැඩිදියුණු කරමු

JavaScript Event Loop සහ Concurrency Model: කේතයේ වේගය වැඩිදියුණු කරමු

JavaScript එකේ Event Loop සහ Concurrency Model ගැන අද මට නව දැනුමක් ලැබුණා. මේ මූලික අදහස් තේරුම් ගතමට පසු, කේත ලිවීමත්, දෝෂ හඳුනා ගැනීමත් ඉතා පහසුයි.

JavaScript එක තනි ත්‍රෙඩ් (single‑threaded) භාෂාවක්. ඒ කියන්නේ එකම වේලාවේ එක කේත කොටසක් පමණක් ක්‍රියාත්මක වීම. උදාහරණයක් ලෙස console.log("A"); console.log("B"); console.log("C"); යන කේත තුනක් පළවෙනි, දෙවැනි, තෙවැනි ලෙස ක්‍රමයෙන් පෙන්වයි.

Call Stack යනු JavaScript එකේ functions ක්‍රියාත්මක වන ස්ථානය. Function එකක් කැඳවනවිට එය Stack එකට එක් වෙයි, අවසන් වූ පසු ඉවත් වේ. මෙය “අවසන් එකක්, පළමු එකක්” (LIFO) නීතියට පදනම්.

බ්‍රවුසර හෝ Node.js වැනි runtime පරිසරයන් Web API / Node API ලෙස අසින්ක්‍රෝනස් වැඩ කිරීමට උපකරණ ලබා දෙනවා. setTimeout, fetch, addEventListener වැනි API ගණනාව JavaScript engine එකෙන් පිරිසිදුව ක්‍රියා නොකරයි; ඒවා runtime එකට භාර දෙනවා.

අසින්ක්‍රෝනස් කාර්යයක් අවසන් වීමෙන් පසු, එහි callback එක Callback (Macrotask) Queue හෝ Microtask Queue යන පෝරම දෙකකට යයි. Promise, await, queueMicrotask වැනි callback ගණනාව Microtask Queue එකට යන අතර, setTimeout වැනි timer එකන් Macrotask Queue එකට යයි.

Event Loop යනු Call Stack හි ඉඩ හිස්දැයි පරීක්ෂා කරන මැකිනිය. Stack හි ඉඩ හිස් වූ විට, මුලින්ම Microtasks සියල්ල ක්‍රියාත්මක කරයි, පසුව එකක් Macrotask ක්‍රියාත්මක කරයි. එම නිසා Promise callback එක setTimeout callback එකට පෙර ක්‍රියාත්මක වේ.

setTimeout(…, 1000) කියන්නේ “අවම තත්පර 1ක් පසු callback ක්‍රියාත්මක වේ” යන අර්ථයයි. Stack එකේ දිගු synchronous කේතයක් තිබේ නම්, timer එක අවසන් වූ පසුත් callback එක ඉදිරියට යාමට බලා සිටින්නට සිදු වේ.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

මෙම මූලික කරුණු තේරුම් ගැනීම, ශ්‍රී ලංකාවේ නවකයන්, වෘත්තීය developers, සහ තාක්ෂණික ව්‍යාපාර සඳහා විශාල වාසියක් ගෙන දෙයි.

  • ඉගෙනුම් කාලය කෙටි කර, අසින්ක්‍රෝනස් දෝෂ හඳුනා ගැනීම ඉක්මනින් සිදු වේ.
  • වෙබ් යෙදුම්, මොබයිල් ඇප්, සහ server‑side Node.js පද්ධතිවල කාර්ය සාධනය වැඩි දියුණු කරයි.
  • ඉදිරි පරිකථනවලදී වැඩි පරිමාණ data streaming, real‑time UI updates වැනි අංග සකස් කිරීමේදී පදනමක් සපයයි.

අද දවසේ JavaScript වැඩිදියුණු කිරීමේ අරමුණ, මෙවැනි මූලික සංකල්පයන් පිළිබඳ හොඳ අවබෝධයක් ඇති කිරීමයි. ඔබත් මේ ගැන හොඳින් ඉගෙන ගෙන, ඔබේ ව්‍යාපාර හෝ පෞද්ගලික ව්‍යාපෘතිවලට අධික කාර්යක්ෂමතාවක් එක් කරගන්න.

ඉදිරියේදී async/await, RxJS වැනි උසස් තාක්ෂණයන් සමඟ වැඩ කරන විට, Event Loop එකේ ක්‍රියාකාරීත්වය ඔබේ මාර්ගෝපදේශකය වනු ඇත.

💡 ඔබේ JavaScript දක්ෂතාවය වැඩිදියුණු කරන්න – දැන්ම කියවන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#JavaScript #EventLoop #Async #Programming #SriLankaTech