Skip to content

Commit 42d2766

Browse files
obulkineregon
authored andcommitted
Fix DaemonThreadFactory - reuse single Java thread factory
* Move defaultThreadFactory call to DaemonThreadFactory#initialize and store resulting factory in @java_thread_factory * In DaemonThreadFactory#newThread, use stored factory to generate new threads instead of creating a new factory each time
1 parent 1982b92 commit 42d2766

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

Diff for: lib/concurrent-ruby/concurrent/executor/java_executor_service.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,11 @@ class DaemonThreadFactory
8888

8989
def initialize(daemonize = true)
9090
@daemonize = daemonize
91+
@java_thread_factory = java.util.concurrent.Executors.defaultThreadFactory
9192
end
9293

9394
def newThread(runnable)
94-
thread = java.util.concurrent.Executors.defaultThreadFactory().newThread(runnable)
95+
thread = @java_thread_factory.newThread(runnable)
9596
thread.setDaemon(@daemonize)
9697
return thread
9798
end

0 commit comments

Comments
 (0)