In multi-threaded ruby execution, you cannot get parallel execution of threads unless you use those functions which frees GVL.
In my understanding, following ruby methods frees GVL:
- Kernel#sleep
- IO#readand- IO#write
Question
- In pure ruby, is there any other methods which frees GVL?
Version
- I'm currently using ruby version 2.6, so expect the info of this version.
 
     
    