Ruby And Threads

M

Magician White

I need make my application execute 5 operations in the same time, for
that i make the class Operation and extends to Thread, make method do
and its work fine buts when i start the threads they don't run all in
the same time.
To run i make

t1 = Operation.new
t2 = Operation.new
t3 = Operation.new
t4 = Operation.new
t5 = Operation.new

and

t1.join
t2.join
....
I'm doing something wrong ? Why the threads don't run all the same time?
 
M

Marcin Raczkowski

Magician said:
Is one class extended to the Thread class and whith one specific
operation.
Why would you do that?

first of all, reember to call super if you do initialization, second why
don't you just provide Thread.new with block?

anyway if you want usefull help, explain your question better or paste
code to pastie.caboo.se :p
 
C

Clifford Heath

Marcin said:
Why would you do that?
first of all, reember to call super if you do initialization, second why
don't you just provide Thread.new with block?

There might be good reasons to do that. I often subclass Thread to
give each thread an API for status and interchange, other than just
shared variables. That way you can include the required synchronization
inside the API.

That said, does the OP know that Ruby's "green threads" will only ever
schedule one thread at a time? Even on a multi-core/multi-CPU box?
If each thread completes within its timeslice, it will appear that
they're running sequentially.

Clifford Heath.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,282
Messages
2,571,404
Members
48,095
Latest member
WalkerBore

Latest Threads

Top