GVL-ja (Global VM Lock, më parë quhet GIL) në MRI Ruby lejon që vetëm një thread të ekzekutojë Ruby code në një kohë — prandaj threads nuk ofrojnë vërtetë paralelizëm të CPU-it. Por GVL-ja lirohet gjatë I/O, prandaj threads e ndihmojnë për punën e lidhur me I/O. Për paralelizëm të CPU-it, përdor procese të shumta. Kjo pasqyron situatën e GIL-it në Python.
GVL-ja: vetëm një thread ekzekuton Ruby code në një kohë
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.
