i want to make a program code ,but it ll take long time to execute
so i am spiliting my program into thread …
but the general concept about thread is ,it will reduce the execution
time of our program under good condition (depending RAM size,Processor
speed ,etc…)
But if the number of thread is more than that capacity of RAM ,Processor
speed,and other resouces…then the program will be very very slow
so i want to check all the resource status(RAM ,processor,etc…) ,after
creating everyone child thread from parent thread …
so how can i find the resource status(RAM ,processor,etc…) in the
parent thread .
so i can decide about to create next child thread…
1.) The only way threads get you a speedup is when you write your code
in
such a way that sections of it can be executed in parallel so you can
take
advantage of multiple cores (or processors).
2.) The current version of Ruby only supports green threads anyhow. So
even
if you did have multiple cores, you wouldn’t get a speedup.
1.) The only way threads get you a speedup is when you write your code
in
such a way that sections of it can be executed in parallel so you can
take
advantage of multiple cores (or processors).
2.) The current version of Ruby only supports green threads anyhow. So
even
if you did have multiple cores, you wouldn’t get a speedup.
MBL
Then perhaps you could explain the output of this program:
require ‘rtiming’ #a simple program that times methods
def test1
threads = []
2.times do |i|
threads[i] = Thread.new do
sleep(2)
puts “task #{i+1} finished”
end
end
On Tue, 9 Oct 2007, Michael Bevilacqua-Linn wrote:
1.) The only way threads get you a speedup is when you write your code in
such a way that sections of it can be executed in parallel so you can take
advantage of multiple cores (or processors).
2.) The current version of Ruby only supports green threads anyhow. So even
if you did have multiple cores, you wouldn’t get a speedup.
It’s not that simple. With Ruby’s green threads, it all depends on
whether there’s a latency somewhere, in one thread, that can allow
another
to make use of that time and get something done.
You aren’t going to find that latency in any CPU bound operation, and
you
aren’t going to find that latency in any extension to Ruby that was not
written to be Ruby aware.
If your problem is IO bound, though, ruby can capture that time where
one
thread is waiting on IO to let another thtread do something. In those
cases, you can get a speedup from Ruby’s green threads.