1- require 'concurrent' # => true
1+ require 'concurrent' # => false
22
33# logger = Logger.new(STDOUT)
44# Concurrent.configuration.logger = logger.method(:add)
@@ -16,7 +16,7 @@ def default_executor
1616end
1717
1818actor_doing_io = ActorDoingIO . spawn :actor_doing_io
19- # => #<Concurrent::Actor::Reference:0x7fd6451fff40 /actor_doing_io (ActorDoingIO)>
19+ # => #<Concurrent::Actor::Reference:0x7fb6fc906068 /actor_doing_io (ActorDoingIO)>
2020actor_doing_io . executor == Concurrent . configuration . global_operation_pool
2121 # => true
2222
@@ -25,8 +25,8 @@ def default_executor
2525class IOWorker < Concurrent ::Actor ::Utils ::AbstractWorker
2626 def work ( io_job )
2727 # do IO work
28- sleep 1
29- puts "#{ path } second:#{ Time . now . to_i } message:#{ io_job } "
28+ sleep 0. 1
29+ puts "#{ path } second:#{ ( Time . now . to_f * 100 ) . floor } message:#{ io_job } "
3030 end
3131
3232 def default_executor
@@ -37,10 +37,10 @@ def default_executor
3737pool = Concurrent ::Actor ::Utils ::Pool . spawn ( 'pool' , 2 ) do |balancer , index |
3838 IOWorker . spawn ( name : "worker-#{ index } " , args : [ balancer ] )
3939end
40- # => #<Concurrent::Actor::Reference:0x7fd6451ecaf8 /pool (Concurrent::Actor::Utils::Pool)>
40+ # => #<Concurrent::Actor::Reference:0x7fb6fc964190 /pool (Concurrent::Actor::Utils::Pool)>
4141
4242pool << 1 << 2 << 3 << 4 << 5 << 6
43- # => #<Concurrent::Actor::Reference:0x7fd6451ecaf8 /pool (Concurrent::Actor::Utils::Pool)>
43+ # => #<Concurrent::Actor::Reference:0x7fb6fc964190 /pool (Concurrent::Actor::Utils::Pool)>
4444
4545# prints two lines each second
4646# /pool/worker-0 second:1414677666 message:1
@@ -50,4 +50,4 @@ def default_executor
5050# /pool/worker-0 second:1414677668 message:5
5151# /pool/worker-1 second:1414677668 message:6
5252
53- sleep 4 # => 4
53+ sleep 1 # => 1
0 commit comments