GVL (Global VM Lock، المعروف سابقًا باسم GIL) في MRI Ruby يسمح بتنفيذ خيط واحد فقط لكود Ruby في نفس الوقت — لذا الخيوط لا توفر توازيًا حقيقيًا على المعالج. لكن GVL يتم تحريره أثناء العمليات الإدخال/الإخراج، لذا الخيوط تساعد فعلًا للعمل المرتبط بالإدخال/الإخراج. للتوازي على المعالج، تستخدم عمليات متعددة. هذا يعكس موقف GIL في Python.
GVL: خيط واحد ينفذ كود Ruby في نفس الوقت
MRI (the standard Ruby) has a GLOBAL VM LOCK:
→ only ONE thread executes Ruby code at any instant (no CPU parallelism from threads)
→ BUT the GVL is RELEASED during blocking I/O (network, file, DB)
So: threads help for I/O-bound work, NOT for CPU-bound work.
