From: Daniel Merk Date: 2008-08-20T16:32:50+09:00 Subject: Re: Newly created thread blocks all others in Ruby 1.8.7 patchlevel 72 on Cygwin ------=_Part_26512_671921.1219217784785 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi Pit, thanks for your response. The behaviour I expect from threads in general is that they virtually run in parallel. So I expect each active thread to be at least scheduled, but not blocked, even if it has a low priority. If there is a total of two threads that have the same priority, I expect the thread scheduler to assign 50% of processing resources to each of them. In earlier Ruby versions (e.g. 1.8.6), this is exactly what has happened. I could reach that behavior in the example before (which is as I stated an "official" one, since you can also find it in the only ruby core documentation of the thread class: http://www.ruby-doc.org/core/classes/Thread.html#M000480) by inserting sleep statements into the loop-blocks. I could then control the amount of processing time for each thread by balancing the sleep times, therefore emulating priority. But then I would mimic the behavior that usually rubys thread scheduler should perform for me. Best regards Daniel ------=_Part_26512_671921.1219217784785--