From: wys@... (Clemens Wyss) Date: 2001-02-06T23:40:02+09:00 Subject: [ruby-talk:10420] Preemptive scheduling? In the following example: def recursion(n) if n == 0 then 1 else (n * recursion(n-1)) **2 end end th1 = Thread.new { print recursion (50) } th1.priority = -5 th2 = Thread.new { sleep .1 th1.kill() } th2.priority = 4 th1.join() thread th2 should kill th1, but this is not the case! BUT if def recursion(n) x = 0 while 1 do x = x + 1 end end th1 is correctly killed! Any reason for this misbehavior? Clemens