ruby线程实现生产者消费者问题示例(队列Queue实现线程同步)
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实现石头剪刀布游戏#encoding:utf-8arr=['石头','剪刀','布']win_arr=[['石头','剪刀'],['剪刀','布'],['布','石头']]#随机computer的值,放入result数组中result=[arr.sampl
ruby使用restclient上传服务器本地文件示例
使用RestClient上传服务器本地文件url='http://xx'#post到urlfield_hash={key:key,token:token}#post数据request=RestClient.posturl,field_hash.merge(file:File.new(File.join('public',"#{params[:
ruby安装gem包失败的通用解决方法
ruby语言升级还是比较勤快的。但是数量众多的版本使得程序库的兼容性成了大问题。有些gem表示明确不支持某个特定版本以前的ruby,而有些gem则与较高
编辑:广州明生医药有限公司
标签:线程,剪刀,石头,示例,版本