ruby线程实现生产者消费者问题示例(队列Queue实现线程同步)_ruby专题教程-查字典教程网
ruby线程实现生产者消费者问题示例(队列Queue实现线程同步)
ruby线程实现生产者消费者问题示例(队列Queue实现线程同步)
发布时间:2016-12-28 来源:查字典编辑
摘要:Ruby线程实现经典的生产者消费者问题,用ruby中的Queue类实现线程同步问题。复制代码代码如下:require"thread"puts...

Ruby线程实现经典的生产者消费者问题,用ruby中的Queue类实现线程同步问题。

复制代码 代码如下:

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专题学习
    脚本专栏子分类