0
說我這樣創建一個線程:是否有可能更改線程在Ruby中正在執行的操作?
thread = Thread.new do
loop do
puts "tick"
sleep(1)
end
end
如果某處我想這個線程停止這樣做,並執行some_method()行了,我會怎麼做呢?
說我這樣創建一個線程:是否有可能更改線程在Ruby中正在執行的操作?
thread = Thread.new do
loop do
puts "tick"
sleep(1)
end
end
如果某處我想這個線程停止這樣做,並執行some_method()行了,我會怎麼做呢?
讓另一個線程設置一個變量,並且這個線程檢查它的值。該方法在此答案中有詳細說明:sleep until condition is true in ruby
如果puts "tick"
不是必需的,則可以改爲使用條件變量。