手机
当前位置:查字典教程网 >脚本专栏 >ruby专题 >Ruby中用线程实现经典的生产者消费者问题代码实例
Ruby中用线程实现经典的生产者消费者问题代码实例
摘要:示例代码:复制代码代码如下:require"thread"puts"ProAndCon"queue=Queue.new#用队列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线程的输出完成再关闭此进程

运行结果:

复制代码 代码如下:

ProAndCon

produced

produced

consumed 0

produced

produced

consumed 1

consumed 2

consumed 3

produced

consumed 4

produced

consumed 5

美化的代码图:

Ruby中用线程实现经典的生产者消费者问题代码实例1

【Ruby中用线程实现经典的生产者消费者问题代码实例】相关文章:

Ruby 多线程的潜力和弱点分析

ruby的程序结构介绍

Ruby中的字符串编写示例

使用Ruby实现简单的事物驱动的web应用的教程

Ruby学习笔记二帮助生成Vim添加代码头的代码

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

ruby、javascript、php中的观察者模式实现代码

编写Ruby代码注释时需要注意的一些问题

Ruby实现批量对文件增加前缀代码分享

Ruby实现插入排序算法及进阶的二路插入排序代码示例

精品推荐
分类导航