Ruby线程实现经典的生产者消费者问题

2015-07-22 0 737
Ruby线程实现经典的生产者消费者问题
require "thread"  
puts "ProAndCon"  
  
queue = Queue.new    #用队列Queue实现线程同步  
  
producer = Thread.new do  
    10.times do |i|  
        sleep rand(i) # 让线程睡眠一段时间  
        queue << i  
        puts "#{i} produced"  
    end  
end  
  
consumer = Thread.new do  
    10.times do |i|  
        value = queue.pop  
        sleep rand(i/2)  
        puts "consumed #{value}"  
    end  
end  
  
consumer.join  #等待consumer线程的输出完成再关闭此进程

遇见资源网 ruby Ruby线程实现经典的生产者消费者问题 http://www.ox520.com/16398.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务