ruby
星之空殇
这个作者很懒,什么都没留下…
展开
-
ruby线程操作
线程创建 thread=Thread.new do 线程块 end如: thread=Thread.new do puts "HelloWorld" end线程并发执行 i=1 Thread.new 10 do |value| while i<value puts "#{i}" i+=1 end end Thread.new do 10.times do |a|原创 2015-11-03 12:32:50 · 361 阅读 · 0 评论 -
ruby线程操作(续)线程的状态
线程的状态一共有5种,如下: sleep 线程处于休眠状态,或者在等待IO run 线程处于运行状态 aborting 线程被取消 false 线程正常终止 nil 线程被非正常终止 可以使用status来查看进程现在的状态 threadpass1=Thread.start do puts"我是正在运行的\n" end s1=thre原创 2015-11-03 20:13:47 · 531 阅读 · 0 评论 -
利用ruby实现对不同网站发送请求
require"net/http" pages=%w(www.javaeye.com www.csdn.net www.sina.com www.google.cn) threads=[] for page in pages threads << Thread.new(page) do |url| h=Net::HTTP.new(url,80) puts"发送的地址是:URL is #{原创 2015-11-03 21:06:22 · 256 阅读 · 0 评论 -
ruby线程操作(续)显示和停止线程
可以使用pass方法暂停线程,执行其他的线程: threadpass1=Thread.start do threadpass1.pass puts"我没希望了,看你的了,加油happy! \n" end Thread.new do puts"看我的吧,我一定会成功的,因为我是happy\n" end 执行结果 看我的吧,我一定会成功的,因为我是happy 使用sleep方法能使进程进原创 2015-11-03 19:54:53 · 1171 阅读 · 0 评论 -
Ruby时间操作
time=Time.now puts time.strftime("%Y年%m月%d日%H时%M分%S秒") puts "一个星期的第#{time.wday}天" puts "一个月的第#{time.mday}天" puts "一年的第#{time.yday}天" 运行结果如下: 2015年11月03日12时24分09秒 一个星期的第2天 一个月的第3天 一年的第307天原创 2015-11-03 12:24:12 · 301 阅读 · 0 评论 -
ruby线程操作(续)同步线程
在ruby中提供3个实现同步的方法,分别是:只负责同步的Mutex类中的方法,兼管数据交接的Queue方法,使用ConditionVariable类实现同步 @num=200 @mutex=Mutex.new def ticketNum(num) @mutex.lock Thread.pass if (@num>=num) @num=@num-num puts"您已经成功购买#{n原创 2015-11-03 20:44:23 · 403 阅读 · 0 评论