主頁 > 知識庫 > ruby線程實現(xiàn)生產(chǎn)者消費者問題示例(隊列Queue實現(xiàn)線程同步)

ruby線程實現(xiàn)生產(chǎn)者消費者問題示例(隊列Queue實現(xiàn)線程同步)

熱門標(biāo)簽:電話運營中心 百度AI接口 呼叫中心市場需求 客戶服務(wù) 企業(yè)做大做強 硅谷的囚徒呼叫中心 Win7旗艦版 語音系統(tǒng)

Ruby線程實現(xiàn)經(jīng)典的生產(chǎn)者消費者問題,用ruby中的Queue類實現(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)閉此進程

標(biāo)簽:長沙 崇左 山西 濟南 喀什 安康 海南 山西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ruby線程實現(xiàn)生產(chǎn)者消費者問題示例(隊列Queue實現(xiàn)線程同步)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266