, 16  2003, 23:43, Matija Kejzar :
> Greetings.
>
> Most of the data is stored in a (mySQL) database that
> I access using DBI. However, as disk seeks are a slow
> thing, I'm thinking of using a separate thread for
If SQL cross-compatibility is not an issue, Perhaps you should consider using 
"INSERT DELAYED", refer to the MySQL manual on this matter.

> "...if some thread happens to make a call to the
> operating system that takes a long time to complete,
> all threads will hang until the interpreter gets
> control back"
Ruby threads are "green threads", that is, they are managed by the interepter 
itself(user-level threads) and not the OS(kernel-level threads)

That is, the C code section of Ruby checks once in a while if a context switch 
is needed, however, this cannot be done while making a system call, so during 
that time a thread context switch cannot occur.

nevertheless,syscalls are not supposed to take long time to complete, the 
exception is I/O(which might block) but as I understand internally ruby 
overcomes the matter in most cases using async I/O, or some other 
technique(someone correct me here), at least in my experience.


Idan