From: Tony Arcieri Date: 2012-08-29T00:45:02+09:00 Subject: Re: force child threads run paralelly? --0016e6dab5172bf3ee04c8555345 Content-Type: text/plain; charset=ISO-8859-1 On Tue, Aug 28, 2012 at 7:19 AM, ajay paswan wrote: > Ruby version: > ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] This version of Ruby (also known as MRI, Matz Ruby Interpreter, and also YARV, Yet Another Ruby VM) does not support parallel multithreading and instead uses a Global Interpreter Lock (or Global VM Lock) which only allows one thread to run at a time. Many operations release the GIL, such as I/O and certain uses of cryptographic primitives. However, if you'd truly like to do parallel computation in Ruby, it's not possible on this version of Ruby. You need to use a Ruby implementation without a GIL that supports thread-level parallelism, such as JRuby or Rubinius. -- Tony Arcieri --0016e6dab5172bf3ee04c8555345 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On Tue, Aug 28, 2012 at 7:19 AM, ajay paswan <lists@ruby-forum.com> wrote:
Ruby version:
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
This version of Ruby (also known as MRI, Matz Ruby Interpreter= , and also YARV, Yet Another Ruby VM) does not support parallel multithread= ing and instead uses a Global Interpreter Lock (or Global VM Lock) which on= ly allows one thread to run at a time.

Many operations release the GIL, such as I/O and certai= n uses of cryptographic primitives. However, if you'd truly like to do = parallel computation in Ruby, it's not possible on this version of Ruby= .

You need to use a Ruby implementation without a GIL tha= t supports thread-level parallelism, such as JRuby or Rubinius.
=

--
Tony Arcieri

--0016e6dab5172bf3ee04c8555345--