[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Ruby And Threads

Magician White

2/2/2008 5:06:00 PM

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?
--
Posted via http://www.ruby-....

4 Answers

Thomas Preymesser

2/2/2008 5:57:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On 02/02/2008, Magician White <w__magician@hotmail.com> wrote:
>
> t1 = Operation.new


I don't know what an Operation class is ...

Magician White

2/2/2008 6:07:00 PM

0

Thomas Preymesser wrote:
> On 02/02/2008, Magician White <w__magician@hotmail.com> wrote:
>>
>> t1 = Operation.new
>
>
> I don't know what an Operation class is ...

Is one class extended to the Thread class and whith one specific
operation.
--
Posted via http://www.ruby-....

Marcin Raczkowski

2/2/2008 6:34:00 PM

0

Magician White wrote:
> Thomas Preymesser wrote:
>> On 02/02/2008, Magician White <w__magician@hotmail.com> wrote:
>>> t1 = Operation.new
>>
>> I don't know what an Operation class is ...
>
> 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

Clifford Heath

2/2/2008 11:35:00 PM

0

Marcin Raczkowski wrote:
> Magician White wrote:
>> 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?

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.