GVL (Global VM Lock, tidligere GIL) i MRI Ruby tillater kun én tråd å kjøre Ruby-kode om gangen — så tråder gir ikke ekte CPU-parallellisme. Men GVL blir frigitt under I/O, så tråder hjelper faktisk for I/O-bound arbeid. For CPU-parallellisme bruker du flere prosesser. Dette speiler Pythons GIL-situasjon.
GVL: én tråd kjører Ruby-kode om gangen
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.
