From: Yohanes Santoso Date: 2003-01-19T16:10:38+09:00 Subject: Re: problem with "threads & os-calls" "pat zes" writes: > ruby threads are (i think) ruby-internal so if ruby does a call to the OS, > ruby can't act (let another thread do it's work) until it gets control back > from the OS. The threading in the official ruby implementations is implemented in pure user-space threading with pre-emptive scheduling. Conceptually, if you spawn two threads, and one of them is blocked by a syscall, the other thread execution should not be affected (blocked). The current implementation does this by employing a regularly occuring signal that interrupts whatever the process is doing and hand back the control to the scheduler, allowing the scheduler to run another thread. YS.