广州明生堂生物科技有限公司


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

网络编程 Ruby中用线程实现经典的生产者消费者问题代码实例 06-22

示例代码:

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.返回字符串的长度str.length=integer2.判断字符串中是否包含另一个串str.includeother_str=trueorfalse"hello".include"lo"#=true"hello".include"ol"#=false"hello".includeh#=true3.字

Ruby数组(Array)学习笔记
1、数组的定义Ruby中的数组是动态数组,存储的数据不用限定类型,数组的长度是根据存储需要动态扩展,所以,在进行数据定义的时候,只用用最简单

Ruby中的变量学习总结
Ruby中的变量有几种形式,分别是局部变量、实例变量、类变量、全局变量,对于初学者来说,常常容易搞混,尤其像本人这种做java的,理解起来还是头


编辑:广州明生堂生物科技有限公司

标签:数组,变量,线程,字符串,长度