دوال JavaScript، والخيوط (Threads)، والتنفيذ غير المتزامن (Asynchronous Execution)

يجب عليك فهم كيفية عمل JavaScript من الداخل.

إليك شرح مفصل للدوال، والعمليات (Processes)، والخيوط (Threads)، وأنماط التنفيذ.

أنواع دوال JavaScript

العملية (Process) مقابل الخيط (Thread)

العملية (Process) هي برنامج يعمل على جهاز الكمبيوتر الخاص بك.

الخيط (Thread) هو وحدة صغيرة داخل العملية.

المتزامن (Synchronous) مقابل غير المتزامن (Asynchronous)

لغة JavaScript أحادية الخيط (single-threaded)، حيث تتعامل مع مهمة واحدة في كل مرة باستخدام مكدس الاستدعاء (Call Stack).

التنفيذ المتزامن (Synchronous Execution):

التنفيذ غير المتزامن (Asynchronous Execution):

كيف يعمل التنفيذ غير المتزامن:

  1. ترسل JavaScript مهمة (مثل مؤقت) إلى Web API.
  2. يستمر الكود الأساسي في العمل.
  3. بمجرد انتهاء المهمة، تنتقل إلى طابور الاستدعاء (Callback Queue).
  4. تقوم حلقة الأحداث (Event Loop) بنقلها إلى مكدس الاستدعاء (Call Stack) عندما يكون المكدس فارغاً.

هذا يحافظ على سرعة تطبيقات الويب الخاصة بك واستجابتها.

المصدر: https://dev.to/kamalesh_ar_6252544786997/types-of-function-and-threads-process-and-synchronous-vs-asynchronous-in-javascript-1hhd