GVL (Global VM Lock, prije poznat kao GIL) u MRI Rubyju omogućava da samo jedan thread izvršava Ruby kod istovremeno — pa threadovi ne pružaju istinsku CPU paralelnost. Ali GVL je oslobođen tijekom I/O operacija, pa threadovi jesu od pomoći za I/O-vezane zadatke. Za CPU paralelnost, koristiš više procesa. Ovo je slično situaciji s Pythonov GIL.
GVL: jedan thread izvršava Ruby kod istovremeno
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.
