ruby執行緒操作(續)顯示和停止執行緒
阿新 • • 發佈:2019-01-26
可以使用pass方法暫停執行緒,執行其他的執行緒:
threadpass1=Thread.start do
threadpass1.pass
puts"我沒希望了,看你的了,加油happy! \n"
end
Thread.new do
puts"看我的吧,我一定會成功的,因為我是happy\n"
end
執行結果
看我的吧,我一定會成功的,因為我是happy
使用sleep方法能使程序進入休眠狀態,待時間結束執行緒會sleep狀態變為可執行狀態,還可以使用wakeup喚醒處於休眠狀態的程序
執行結果:puts"開始時間是:"+Time.now.to_s sleep 3 puts"暫停三秒後時間為"+Time.now.to_s sleep 4 puts"暫停四秒後時間為"+Time.now.to_s
開始時間是:2015-11-03 20:00:03 -0400
暫停三秒後時間為2015-11-03 20:00:06 -0400
暫停四秒後時間為2015-11-03 20:00:10 -0400
使用kill和exit方法停止程序
執行結果:i=1 threadkill1=Thread.new 10 do |value| while i<value puts"#{i}" i+=1 if(i>5) Thread.kill threadkill1 end end end threadexit1=Thread.new do 10.times do |a| puts"第#{a+1}次比賽" if(a>4) Thread.exit end end end
1
2
3
4
5
第1次比賽
第2次比賽
第3次比賽
第4次比賽
第5次比賽
第6次比賽