class Concurrent::JavaSingleThreadExecutor

@!macro single_thread_executor @!macro abstract_executor_service_public_api @!visibility private

Public Class Methods

new(opts = {}) click to toggle source

@!macro single_thread_executor_method_initialize

Calls superclass method Concurrent::JavaExecutorService.new
# File lib/concurrent/executor/java_single_thread_executor.rb, line 15
def initialize(opts = {})
  super(opts)
end

Private Instance Methods

ns_initialize(opts) click to toggle source
# File lib/concurrent/executor/java_single_thread_executor.rb, line 21
def ns_initialize(opts)
  @executor = java.util.concurrent.Executors.newSingleThreadExecutor
  @fallback_policy = opts.fetch(:fallback_policy, :discard)
  raise ArgumentError.new("#{@fallback_policy} is not a valid fallback policy") unless FALLBACK_POLICY_CLASSES.keys.include?(@fallback_policy)
  self.auto_terminate = opts.fetch(:auto_terminate, true)
end