celluloid

    0熱度

    1回答

    這個簡單的例子,我在JRuby上運行多線程,但它只有一個線程運行 require 'benchmark' require 'celluloid/current' TIMES = 10 def delay sleep 1 # 40_000_000.times.each{|i| i*i} end p 'celluloid: true multithreading?'

    0熱度

    1回答

    我有以下程序結構。 client = Client.new params = client.get_params pool = client.pool(size: params.size) futures = params.map do |p| pool.future(:perform_work, p) end futures.map(&:value) 客戶端是啓用賽璐

    0熱度

    1回答

    我試圖運行使用PubNub Ruby SDK 4.0.25一個簡單的Ruby代碼,但運行ruby subscriber.rb當我接收日誌錯誤如下圖所示: # Logfile created on 2017-10-14 01:09:02 +0200 by logger.rb/56815 D, [2017-10-14T01:09:02.580516 #1990] DEBUG -- Pubnub::T

    0熱度

    1回答

    我正在使用Celluloid-zmq,並且我正在連接到應用程序中的多個套接字。應用程序保持在後臺環路聽,但是當我關閉特定的套接字它給了我這個錯誤「賽璐珞:: TaskTerminated:任務被終止」 我結束對異常循環, def puller_loop logger.info "polling PULL socket" loop { begin a

    0熱度

    1回答

    我花了一些時間用Google搜索主題,但是我失敗了。有人可以分享以下任何一種嗎? 的例子任何異步事 *與測試代碼Celluloid 文章或有關測試異步東西,哪怕是很小的寫了Ruby的 *對不起,我知道寫any async thing聽起來不可思議,但我不知道如何稱呼它:-)

    1熱度

    1回答

    我正在嘗試使用賽璐珞異步處理一些.csv數據。我讀過使用期貨使您能夠在主線程終止之前等待一組角色完成。我看過some examples,證明了這一點。 但是,當我在我的示例代碼中實現它時,事實證明使用futures並不比同步處理更快。任何人都可以看到我做錯了什麼? require 'smarter_csv' require 'celluloid/current' require 'benchm

    1熱度

    1回答

    我對Ruby非常新穎,我正在開發一個項目以運行使用賽璐珞庫實現的多線程ruby程序。 好像當我嘗試使用下面的命令來運行程序: ruby program_name.rb 的代碼運行不正常,它說GIL從利用多內核停止它。我知道GIL是ruby解釋器使用的一種鎖定機制,但我想知道是否有一種方法可以通過特殊命令對其進行併發程序運行。 如果這是不可能的,是否有任何其他方式在ruby中執行多線程程序/使用

    -1熱度

    1回答

    我該如何完成一個循環,以便對可用CPU內核上的迭代進行排序?那麼每個迭代將平行運行,因此速度更快?我想了解寶石賽璐珞,但如果有另一個我可以使用的寶石,請不要猶豫告訴我!

    3熱度

    1回答

    在我的ruby腳本中,我使用了celluloid-zmq gem。這裏我想裏面使用輪詢evaluate_response異步運行, async.evaluate_response(socket.read_multipart) 但是,如果我從環去除睡眠,不知何故那不是工作了,它不伸手「evaluate_response」的方法。但是如果我把睡眠放在循環內,它可以完美地工作 require 'ce

    1熱度

    1回答

    require 'celluloid/current' Celluloid.shutdown_timeout = 1 class Mapper include Celluloid attr_accessor :value def run(num) @value = num.times.map { |idx| idx } end e