ruby線程實現生產者消費者問題示例(隊列Queue實現線程同步)

来源:互联网 发布:手机陀螺仪水平仪软件 编辑:程序博客网 时间:2024/06/16 12:11

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線程的輸出完成再關閉此進程
0 0
原创粉丝点击