C
christoforever
As you will see at the bottom of this code snippet, i've commented out
where the problem is. There are no errors but simply the methods never
execute. I cant figure out for the life of me why that is. I've tried
a few different things but nothing is working. I would love to know
what I'm doing wrong or maybe ruby cant do what im asking of it... Im
not sure either way and would love some feedback. Thanks in advance
Chris Dancy
class MyThread < Thread
def initialize(num='')
super
puts "Thread #{num} has been created"
@identity = num
@attempts = 0
@time_waiting = Time.new
@total_time = Time.new
end
def time_to_die
puts "Thread #{@identity} is dying now..."
self.kill
end
end
class Start
def initialize
@NUMBER_OF_PEOPLE = 10
@callers = Array.new(@NUMBER_OF_PEOPLE)
@phone_held = false
self.start_simulation
self.finish
end
def start_simulation
puts "Starting Simulation..."
@NUMBER_OF_PEOPLE.times do |num|
puts " " + num.to_s
@callers[num] = MyThread.new(num) do |local_num|
## I want to call this executing MyThread method time_to_die
but its not working
## this does not work, but gives no errors
@callers[local_num].time_to_die
self.time_to_die
## neither of the previous methods execute.
puts "here is the class " + @callers[local_num].class.to_s #
spits out NilClass. Shouldent this be Thread?
end
end
end
def finish
puts "And im spent...Simulation is over"
end
end
start = Start.new
where the problem is. There are no errors but simply the methods never
execute. I cant figure out for the life of me why that is. I've tried
a few different things but nothing is working. I would love to know
what I'm doing wrong or maybe ruby cant do what im asking of it... Im
not sure either way and would love some feedback. Thanks in advance
Chris Dancy
class MyThread < Thread
def initialize(num='')
super
puts "Thread #{num} has been created"
@identity = num
@attempts = 0
@time_waiting = Time.new
@total_time = Time.new
end
def time_to_die
puts "Thread #{@identity} is dying now..."
self.kill
end
end
class Start
def initialize
@NUMBER_OF_PEOPLE = 10
@callers = Array.new(@NUMBER_OF_PEOPLE)
@phone_held = false
self.start_simulation
self.finish
end
def start_simulation
puts "Starting Simulation..."
@NUMBER_OF_PEOPLE.times do |num|
puts " " + num.to_s
@callers[num] = MyThread.new(num) do |local_num|
## I want to call this executing MyThread method time_to_die
but its not working
## this does not work, but gives no errors
@callers[local_num].time_to_die
self.time_to_die
## neither of the previous methods execute.
puts "here is the class " + @callers[local_num].class.to_s #
spits out NilClass. Shouldent this be Thread?
end
end
end
def finish
puts "And im spent...Simulation is over"
end
end
start = Start.new