ruby线程操作(续)显示和停止线程

来源:互联网 发布:万方数据库免费注册 编辑:程序博客网 时间:2024/06/04 08:07

可以使用pass方法暂停线程,执行其他的线程:

threadpass1=Thread.start do threadpass1.passputs"我没希望了,看你的了,加油happy! \n"endThread.new doputs"看我的吧,我一定会成功的,因为我是happy\n"end
执行结果

看我的吧,我一定会成功的,因为我是happy

使用sleep方法能使进程进入休眠状态,待时间结束线程会sleep状态变为可执行状态,还可以使用wakeup唤醒处于休眠状态的进程

puts"开始时间是:"+Time.now.to_ssleep 3puts"暂停三秒后时间为"+Time.now.to_ssleep 4puts"暂停四秒后时间为"+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=1threadkill1=Thread.new 10 do |value|while i<valueputs"#{i}"i+=1if(i>5)Thread.kill threadkill1endendendthreadexit1=Thread.new do10.times do |a|puts"第#{a+1}次比赛"if(a>4)Thread.exitendendend
执行结果:

12345第1次比赛第2次比赛第3次比赛第4次比赛第5次比赛第6次比赛




0 0
原创粉丝点击