Problem on enpanding array?

Hi,

i wrote a little class for thread-pools, but there is a problem
expanding args on a method-call.

def new_thread(*args, &action)

wait until a slot in the pool is free

start thread

threads << Thread.new { action.call(*args) }
end

In the block (which is the “work to do in the thread”) the args
should be available with |arg1, arg2, …|, but the aren’t. They
are still in one array (args).

Any ideas what’s going wrong?

best regards,
Matthias

On Fri, 11 Aug 2006 17:32:27 +0900, Matthias Ludwig wrote:

threads << Thread.new { action.call(*args) }
Attachment not shown: MIME type application/pgp-signature
Works for me:

$threads=[]
def new_thread(*args, &action)

start thread

$threads << Thread.new { action.call(*args) }
end

new_thread(7,“Hello”) {|n,m| n.times{sleep 1; puts m}}

sleep 10