פונקציות, תהליכים והרצה ב-JavaScript

שליטה ב-JavaScript דורשת הבנה של האופן שבו הקוד רץ.

להלן מושגי הליבה שעליכם להכיר.

1. 5 סוגים של פונקציות JavaScript

2. תהליך (Process) מול תהליכון (Thread)

תהליך (Process) הוא תוכנית רצה. לכל תהליך יש זיכרון משלו. אם Chrome קורס, Spotify ממשיכה לעבוד כי אלו תהליכים נפרדים.

תהליכון (Thread) הוא יחידה קטנה בתוך תהליך. תהליכונים חולקים את אותו הזיכרון. זה הופך אותם למהירים וקלים יותר מתהליכים.

3. סינכרוני (Synchronous) מול אסינכרוני (Asynchronous)

JavaScript היא single-threaded. בדרך כלל היא מריצה משימה אחת בכל פעם.

הרצה סינכרונית (Synchronous Execution): משימות רצות בסדר קשיח. השורה הבאה מחכה שהשורה הנוכחית תסתיים. זה עלול להאט את האפליקציה שלכם אם משימה לוקחת זמן רב מדי.

הרצה אסינכרונית (Asynchronous Execution): משימות יכולות להתחיל עכשיו ולהסתיים מאוחר יותר. זה מונע מהקוד שלכם להיחסם (blocking).

איך זה עובד:

דוגמה לזרימה אסינכרונית:

  1. הדפסת "Hi"
  2. התחלת טיימר ל-2 שניות
  3. הדפסת "End"
  4. (עוברות 2 שניות) הדפסת "Vicky"

הקוד לא מחכה לטיימר. הוא עובר ל-"End" באופן מיידי.

מקור: https://dev.to/kamalesh_ar_6252544786997/types-of-function-and-threads-process-and-synchronous-vs-asynchronous-in-javascript-1hhd

קהילת למידה אופציונלית: https://t.me/GyaanSetuAi