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