Minkoo Seo wrote:
> Robert Klemme wrote:
>> 2006/4/29, Vlad GALU <vladgalu / gmail.com>:
>>>     I'd like to use Ruby for a quite high performance networking tool.
>>> In practice, writing a multithreaded C/C++ program is not pheasible
>>> due to the large connection pool I plan to manage, which would impose
>>> a very scarce stack size. From what I can see, Ruby's default I/O
>>> semantics are synchronous. One can opt for using IO#select though.
>>> Let's just say synchronous is OK, API-wise. My question is: if I use
>>> one (Ruby) thread per client, would it block the whole Ruby
>>> interpreter while performing blocking I/O ?
>> 
>> No. You can have a multi threaded application that uses blocking IO
>> (interface wise) concurrently. 
> 
> I can't understand this. If ruby uses non native multithreading, then 
> all threads will run in the same process. And that implies that one 
> blocking I/O operation stop the all threads in the ruby interpreter 
> process, doesn't it?
> 

This is indeed an interesting question, one that hasn't been cleared
enough in the Ruby docs, I feel. It seems that there's also a difference
between Windows and Unixes here. If someone could elaborate, it will be
great.

-- 
Posted via http://www.ruby-forum.com/.