class Concurrent::AbstractExecutorService
@!visibility private
@!macro abstract_executor_service_public_api
def auto_terminate=(value)
def auto_terminate=(value) synchronize { self.ns_auto_terminate = value } end
def auto_terminate?
def auto_terminate? synchronize { ns_auto_terminate? } end
def handle_fallback(*args)
-
args(Array) -- the arguments to the task which is being handled.
def handle_fallback(*args) case fallback_policy when :abort raise RejectedExecutionError when :discard false when :caller_runs begin yield(*args) rescue => ex # let it fail log DEBUG, ex end true else fail "Unknown fallback policy #{fallback_policy}" end end
def initialize(*args, &block)
def initialize(*args, &block) super(&nil) synchronize { ns_initialize(*args, &block) } end
def kill
def kill raise NotImplementedError end
def ns_auto_terminate=(value)
def ns_auto_terminate=(value) case value when true AtExit.add(self) { terminate_at_exit } @auto_terminate = true when false AtExit.delete(self) @auto_terminate = false else raise ArgumentError end end
def ns_auto_terminate?
def ns_auto_terminate? !!@auto_terminate end
def ns_execute(*args, &task)
def ns_execute(*args, &task) raise NotImplementedError end
def ns_kill_execution
Callback method called when the executor has been killed.
@!macro executor_service_method_ns_kill_execution
def ns_kill_execution # do nothing end
def ns_shutdown_execution
Callback method called when an orderly shutdown has completed.
@!macro executor_service_method_ns_shutdown_execution
def ns_shutdown_execution # do nothing end
def running?
def running? synchronize { ns_running? } end
def shutdown
def shutdown raise NotImplementedError end
def shutdown?
def shutdown? synchronize { ns_shutdown? } end
def shuttingdown?
def shuttingdown? synchronize { ns_shuttingdown? } end
def terminate_at_exit
def terminate_at_exit kill # TODO be gentle first wait_for_termination(10) end
def wait_for_termination(timeout = nil)
def wait_for_termination(timeout = nil) raise NotImplementedError end