Michael Neumann wrote:
> James Edward Gray II wrote:
> 
>> On Dec 3, 2004, at 9:47 AM, Lionel Thiry wrote:
>>
>>> Hello!
>>> I need help:
>>>     Is Ruby multithreading cooperative or preemptive?
>>
>>
>>
>> Preemptive.
>>
>>> I mean: am I forced to abuse of Thread.pass in (every heavy) threads 
>>> or may I just assume the ruby interpreter will commute threads itself?
>>
>>
>>
>> Yes, ruby will handle thread scheduling.
>>
>>> Another question:
>>>     Is Ruby multithreading blocked by system calls?
>>>
>>> Like for example when calling system("command line").
>>
>>
>>
>> Hmm, good question.  I assume yes, but let's let someone who knows 
>> better than me answer this one...  ;)
> 
> 
> Yes:
> 
>   Thread.new {
>     loop do
>       sleep 1
>       p "."
>     end
>    }
> 
>    system("sleep 10000")
> 
> And for IO operations, this is true, too. Ruby does not block on 
> read/write as it internally uses select.
> 
> Regards,
> 
>   Michael
> 
> 

Thanks all,
Lionel