6
Как бы я начал и остановил отдельный поток из другого потока?Запуск и остановка Ruby Threads
loop_a_stopped = true
loop_a = Thread.new do
loop do
Thread.stop if loop_a_stopped
# Do stuff
sleep 3
end
end
loop_b = Thread.new do
loop do
response = ask("> ")
case response.strip.downcase
when "start"
loop_a_stopped = false
loop_a.run
when "stop"
loop_a_stopped = true
when "exit"
break
end
end
end
loop_a.join
loop_b.join
Ahh, это делает больше смысла, спасибо. Хотя, мне было интересно, что первое похоже: для STDOUT.sync = true. Я все выясню. – RyanScottLewis
Хм, кажется, метод 'gets' останавливает loop_a от запуска. Что с этим? – RyanScottLewis
С кодом выше не существует никаких проблем. Я могу запустить это без проблем. Я подозреваю, что вы сделали в loop_a (# Do stuff), возможно, остановите loop_a. – bryantsai