无意中看到,ruby的程序真是非常友好,有兴趣可以品味一下。
IMAP的消息系统是用了C++的ACE库。当时很多人搞不清楚IMAP的消息收发机制,我做培训就会讲ACE的生产、消费者模型,用ACE库写起来的代码也不太好看。
Ruby这个就非常好看。
require 'thread'
queue = Queue.new
producer = Thread.new do
5.times do |i|
sleep rand(i) # simulate expense
queue << i
puts "#{i} produced"
end
end
consumer = Thread.new do
5.times do |i|
value = queue.pop
sleep rand(i/2) # simulate expense
puts "consumed #{value}"
end
end
consumer.join
ruby优秀代码,生产、消费者并发例子
最新推荐文章于 2024-08-08 06:11:01 发布