In Ruby 1.8 the threads in Ruby where “Green Threads” - it was basically Ruby itself slicing the tasks.
In Ruby 2.0 the Ruby threads are native - but for some reason the main Ruby thread perform some handling of the child threads. If the main thread isn’t active then the child threads doesn’t process. If you start a Ruby thread you’d notice that they only run if you move the cursor around. It appear to be some clashes with Ruby being embedded into a GUI desktop application and how UI threads are run.
There is a way around it, by having a timer keeping the main thread alive. Though it’s kludgy.
Then there is the issue of the SketchUp API only working on the main thread. You cannot interact with it from other threads. That means that threading would only be useful if you do some longer calculations that doesn’t need to interact with the SketchUp API in any way. I’ve done something like that for when I need to do some background HTTP requests - but you’re out of luck of you try to create a progressbar when building SU geometry.
I have experimented with some Win32 API calls under windows - displaying progressbar in the taskbar. Supported by Windows7 and newer. However, there is no OSX alternative for that.