`
pingfeng
  • 浏览: 59478 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ruby优秀代码,生产、消费者并发例子

阅读更多

无意中看到,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源代码 ruby源代码 ruby源代码 ruby源代码2

    ruby源代码 ruby源代码 ruby源代码 ruby源代码2

    ruby源代码 ruby源代码 ruby源代码 ruby源代码4

    ruby源代码 ruby源代码 ruby源代码 ruby源代码4

    ruby源代码 ruby源代码 ruby源代码 ruby源代码3

    ruby源代码 ruby源代码 ruby源代码 ruby源代码3

    ruby源代码 ruby源代码 ruby源代码 ruby源代码5

    Ruby的设计哲学是“程序员的生产力优先”,因此它的语法易于理解,强调可读性和减少程序员的疲劳。Ruby的核心特性包括: 1. 面向对象:在Ruby中,一切都是对象,包括基本数据类型如整数、字符串和布尔值。这种设计...

    ruby测试代码6

    - `Npc`代表非玩家角色(Non-Player Character),在Ruby代码中可能会有专门的类来处理NPC的行为和交互。 - `Button`可能指的是用户界面的按钮元素,Ruby可以结合前端框架如Sinatra或Rails来创建这样的UI元素。 -...

    ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码

    ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码

    ruby 中文教程(带例子代码)

    这些文件提供了实际编写和运行Ruby代码的机会,通过解决这些问题,学习者可以巩固对语言的理解。Ruby的语法强调可读性,所以这些练习将帮助你理解如何编写清晰、易于理解的代码。 在Ruby中,locale.zh_gb....

    ruby+selenium-webdriver测试--第一个例子源代码

    在这个“ruby+selenium-webdriver测试--第一个例子源代码”中,我们将探讨如何使用Ruby和Selenium-Webdriver实现自动化测试的初步步骤。 首先,我们需要安装必要的库。确保已经安装了Ruby,并通过RubyGems来安装...

    ruby源代码8

    5. 了解性能优化:通过分析源代码,可以学习如何编写高效的Ruby代码,避免不必要的计算和内存消耗。 总的来说,深入研究Ruby源代码不仅能提升编程技巧,还能帮助你成为一个更全面的开发者,更好地理解和应对各种...

    ruby测试代码1

    在Ruby编程语言中,测试代码扮演着至关重要的角色,它确保了代码的质量和可靠性。"ruby测试代码1"可能指的是一个具体的测试用例或者测试框架的实例,用于验证Ruby程序的功能和性能。Ruby提供了多种测试工具,如...

    ruby实战书、代码书.rar

    4. **并发编程**:Ruby支持线程和进程,书中可能会讨论如何在多线程环境下编写安全的代码。 5. **Web开发**:Ruby在Web开发领域有著名的Rails框架,书中可能涉及Web开发的基础知识,如HTTP协议、路由、模板和数据库...

    ruby源代码6

    ruby源代码6ruby源代码6ruby源代码6ruby源代码6

    ruby 资源(代码范例)

    在"Ruby Cookbook Source"这个压缩包中,我们可以期待找到一系列的Ruby代码示例,这些示例可能涵盖了各种常见的编程问题和最佳实践。Ruby Cookbook通常会包含解决特定问题的代码片段,帮助开发者更好地理解和应用...

    Ruby-ConcurrentRuby现代并发工具

    《Ruby-Concurrent Ruby:探索现代并发工具》 在软件开发领域,并发编程是提升系统性能、充分利用多核处理器的关键技术。在Ruby世界中,`Concurrent Ruby`库为开发者提供了强大的并发工具,使得处理复杂的并发任务...

    ruby测试代码7

    "Ruby测试代码7"可能指的是一个特定的测试用例或测试框架在Ruby中的应用。在这个场景下,我们将深入探讨Ruby中的测试实践,包括测试工具、测试方法以及如何通过Map和Sound等模块进行测试。 首先,Ruby中的测试文化...

    Ruby on Rails入门经典代码

    本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习Rails的宝贵资源,帮助初学者快速掌握这个强大的框架。 1. **Rails基础知识**: - MVC架构:Rails的核心设计模式,模型负责数据处理,视图负责展示,控制器...

    Ruby小例子(源代码)

    标签“源码”和“工具”表明这是一些可以直接运行的Ruby代码片段,可能是用来演示特定功能或编程概念的,同时可能与某种开发工具或实践相关。 根据压缩包内的文件名,我们可以推测这些代码文件是按照一定的主题或...

    Ruby-Puma一个Ruby的并发Web服务器

    总的来说,Puma是Ruby开发者构建高性能Web应用的理想选择,其并发性和高效性使其成为生产环境中的首选Web服务器。了解并掌握Puma的使用和配置,对于提升Ruby on Rails应用的性能和稳定性至关重要。通过深入学习Puma...

    Ruby实现生产者和消费者代码分享

    通过这个简单的实现,我们可以看到如何在Ruby中运用线程和队列实现生产者-消费者模型,以及如何利用这个模型来处理并发和同步问题。在实际应用中,可以根据需求调整生产者和消费者的数量,以及它们生成和消费资源的...

    Ruby-一个Ruby的例子

    在这个"Ruby-一个Ruby的例子"中,我们将探讨Ruby的基础知识,以及如何通过具体的代码示例来理解其核心特性。 首先,Ruby的面向对象特性是其核心之一。在Ruby中,一切都是对象,包括基本数据类型如数字、字符串和...

Global site tag (gtag.js) - Google Analytics