From: matz@... (Yukihiro Matsumoto) Date: 1998-12-25T10:19:51+09:00 Subject: [ruby-talk:00144] Re: Thread Problems Hi. In message "[ruby-talk:00138] Thread Problems" on 98/12/22, Reimer Behrends writes: |I have been looking at the thread implementation of Ruby for the past |couple of days, and I think I may have found a few problems. | |For instance, io.c does a lot of checking to see if a thread can block. |Unfortunately, some of these checks are incomplete. For example, if you run |the following script, the forked thread blocks everything else as soon as |you hit enter until you type Ctrl-D. Hmm, I didn't realize that problem. Let me think about it. |P.S.: Is there a reason why the current implementation is fixed at 10 | time slices a second? Most modern computers should be able to | easily handle up to 10 times as much, even if you call select() | each time. Well, there were two reasons for that: (1) At the time I decided the slice value, I was using VERY slow machine to develop Ruby. (2) Context switching for Ruby's thread is relatively slow, since it copies stack to heap and vice versa. I was afraid of thrashing. This may need to be a configurable value. matz.