Bug #2505: Threads behave inconsistently across platforms.
http://redmine.ruby-lang.org/issues/show/2505

Author: Christian Höltje
Status: Open, Priority: High
ruby -v: 1.9.1-p376

In Ruby 1.9, Thread is now using native threads.  The problem with this is that threading models don't work the same across different platforms.

Some examples:
 priority doesn't do the same thing on Solaris than Linux.
 loop{} will lock the process up in Solaris, but not Linux.

There are plenty of other examples. 

In addition, the fact that native threads use the same class name is also confusing.  It means that code that would work on fully GIL encumbered green threads would work fine but may break in mysterious ways using native threads.

Finally, there is the fact that any code that could possibly be called from a native thread now has to be thread safe, making writing C extensions difficult.


----------------------------------------
http://redmine.ruby-lang.org