Skip to content

Commit e325471

Browse files
committed
Refactor and simplify pool implementation
1 parent dbcd08c commit e325471

File tree

5 files changed

+262
-218
lines changed

5 files changed

+262
-218
lines changed

lib/concurrent/executor/ruby_cached_thread_pool.rb

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@ def initialize(opts = {})
1717

1818
raise ArgumentError.new("#{fallback_policy} is not a valid fallback policy") unless FALLBACK_POLICIES.include?(fallback_policy)
1919

20-
opts = opts.merge(
21-
min_threads: 0,
22-
max_threads: DEFAULT_MAX_POOL_SIZE,
23-
fallback_policy: fallback_policy,
24-
max_queue: DEFAULT_MAX_QUEUE_SIZE,
25-
idletime: DEFAULT_THREAD_IDLETIMEOUT
26-
)
27-
super(opts)
20+
defaults = { idletime: DEFAULT_THREAD_IDLETIMEOUT }
21+
overrides = { min_threads: 0,
22+
max_threads: DEFAULT_MAX_POOL_SIZE,
23+
fallback_policy: fallback_policy,
24+
max_queue: DEFAULT_MAX_QUEUE_SIZE }
25+
26+
super(defaults.merge(opts).merge(overrides))
2827
end
2928
end
3029
end

0 commit comments

Comments
 (0)