欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ruby中用線程實現(xiàn)經(jīng)典的生產(chǎn)者消費者問題代碼實例

 更新時間:2015年01月22日 11:30:01   投稿:junjie  
這篇文章主要介紹了Ruby中用線程實現(xiàn)經(jīng)典的生產(chǎn)者消費者問題代碼實例,本文直接給出實現(xiàn)代碼和運行效果,需要的朋友可以參考下

示例代碼:

復(fù)制代碼 代碼如下:

require "thread"
puts "ProAndCon"
  
queue = Queue.new    #用隊列Queue實現(xiàn)線程同步 
  
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線程的輸出完成再關(guān)閉此進程

運行結(jié)果:

復(fù)制代碼 代碼如下:

ProAndCon
produced
produced
consumed 0
produced
produced
consumed 1
consumed 2
consumed 3
produced
consumed 4
produced
consumed 5

美化的代碼圖:

相關(guān)文章

  • Ruby實現(xiàn)的各種排序算法

    Ruby實現(xiàn)的各種排序算法

    這篇文章主要介紹了Ruby實現(xiàn)的各種排序算法,本文給出了Bubble sort、Insertion sort、Selection sort、Shell sort等排序的實現(xiàn)方法,需要的朋友可以參考下
    2015-05-05
  • ruby中并發(fā)并行與全局鎖詳解

    ruby中并發(fā)并行與全局鎖詳解

    最近在學(xué)習(xí)ruby,想著將自己學(xué)習(xí)的內(nèi)容總結(jié)一下分享出來,下面這篇文章主要給大家介紹了關(guān)于ruby中并發(fā)并行與全局鎖的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • Ruby多線程編程初步入門

    Ruby多線程編程初步入門

    這篇文章主要介紹了Ruby多線程編程初步入門,線程是Ruby編程學(xué)習(xí)當中的重點和難點,需要的朋友可以參考下
    2015-05-05
  • Ruby中的字符串編寫示例

    Ruby中的字符串編寫示例

    這篇文章主要介紹了Ruby中的字符串編寫示例,作者給出了相關(guān)編程風(fēng)格的一些建議,需要的朋友可以參考下
    2015-08-08
  • 在Ruby中處理日期和時間的教程

    在Ruby中處理日期和時間的教程

    這篇文章主要介紹了在Ruby中處理日期和時間的教程,包括時間的格式化等基本用法,需要的朋友可以參考下
    2015-04-04
  • ruby執(zhí)行周期性任務(wù)的三種gem介紹

    ruby執(zhí)行周期性任務(wù)的三種gem介紹

    無論是用ruby做系統(tǒng)管理,還是用rails做web開發(fā),都可能遇到周期性任務(wù),它們按照一定時間周期(1小時,2天......)持續(xù)地觸發(fā)。在ruby中,我認為一次性任務(wù)使用 sidekiq 來完成是非常方便的,而周期性的任務(wù)就需要用到 whenever , sidetiq , clockwork 等等gem了。
    2014-07-07
  • ruby中的雙等號==問題詳解

    ruby中的雙等號==問題詳解

    Ruby里面有4種比較方法,equal?, eql?, ==, ===,而且在不同的類里面表現(xiàn)的很不一樣。在使用的時候也特別容易搞糊涂。 本文先給大家講述一下==號的用法及使用中應(yīng)該注意的地方
    2016-02-02
  • 在Ruby程序中連接數(shù)據(jù)庫的詳細教程

    在Ruby程序中連接數(shù)據(jù)庫的詳細教程

    這篇文章主要介紹了在Ruby程序中連接數(shù)據(jù)庫的詳細教程,包括介紹數(shù)據(jù)庫支持Ruby的接口等,是學(xué)習(xí)Ruby on Rails的基礎(chǔ),需要的朋友可以參考下
    2015-04-04
  • Ruby編程中關(guān)于中斷和返回的用法教程

    Ruby編程中關(guān)于中斷和返回的用法教程

    這篇文章主要介紹了Ruby編程中關(guān)于中斷和返回的用法教程,作者用代碼舉例講解了其中需要注意的問題,需要的朋友可以參考下
    2015-05-05
  • 在 Ubuntu 12.04 Server 上安裝部署 Ruby on Rails 應(yīng)用

    在 Ubuntu 12.04 Server 上安裝部署 Ruby on Rails 應(yīng)用

    本教程只適合 Ubuntu Server 用于部署項目到線上,建議使用同樣的 Ubuntu 版本,以免遇到一些版本不同帶來的問題
    2014-07-07

最新評論