主页 > 知识库 > ruby线程实现生产者消费者问题示例(队列Queue实现线程同步)

ruby线程实现生产者消费者问题示例(队列Queue实现线程同步)

热门标签:电话运营中心 百度AI接口 呼叫中心市场需求 客户服务 企业做大做强 硅谷的囚徒呼叫中心 Win7旗舰版 语音系统

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线程实现生产者消费者问题示例(队列Queue实现线程同步)》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266