Concept Flow - GIL (Global Interpreter Lock) impact
Start Ruby Program
Create Multiple Threads
Each Thread Requests GIL
Only One Thread Holds GIL
Thread Executes Ruby Code
Thread Releases GIL
Next Thread Requests GIL
Repeat Until All Threads Complete
Program Ends
Ruby threads run one at a time inside the interpreter because only one thread can hold the GIL, so threads take turns executing Ruby code.