Please send this to ruby-core@

On Jan 30, 2012, at 9:48, Grigory Petrov <grigory.v.p / gmail.com> wrote:

> Ruby 1.9 suppose to have native threads, and GIL is supposed to lift
> if some threads enters native code (like GUI toolkit main loop or C
> implementation of some Ruby lib). But if i start following simple code
> sample that displays GUI in main thread and do some basic math in
> separate thread - the GUI will hang out badly and dragging window will
> redraw ~ every 10 seconds or so :(. I have checked with different GUI
> toolkit, Qt (qtbindings gem) - it behaves exactly same. Tested with
> Ruby 1.9.3-p0 on Windows 7 and OSX 10.7
> 
> require 'tk'
> require 'thread'
> require 'rexml/document'
> Thread.new { loop { a = 1 } }
> TkRoot.new.mainloop()
> 
> Same code in Python works fine without any GUI hangs:
> 
> from Tkinter import *
> from threading import *
> class WorkThread( Thread ) :
>  def run( self ) :
>    while True :
>      a = 1
> WorkThread().start()
> Tk().mainloop()
> 
> What i'm doing wrong?
>