RubyExecutorService
@!macro single_thread_executor @!macro thread_pool_options @!macro abstract_executor_service_public_api @!visibility private
@!visibility private
# File lib/concurrent/executor/ruby_single_thread_executor.rb, line 46 def alive? @thread && @thread.alive? end
@!visibility private
# File lib/concurrent/executor/ruby_single_thread_executor.rb, line 28 def execute(*args, &task) supervise @queue << [args, task] end
@!visibility private
# File lib/concurrent/executor/ruby_single_thread_executor.rb, line 40 def kill_execution @queue.clear @thread.kill if alive? end
@!visibility private
# File lib/concurrent/executor/ruby_single_thread_executor.rb, line 56 def new_worker_thread Thread.new do Thread.current.abort_on_exception = false work end end
# File lib/concurrent/executor/ruby_single_thread_executor.rb, line 19 def ns_initialize(opts) @queue = Queue.new @thread = nil @fallback_policy = opts.fetch(:fallback_policy, :discard) raise ArgumentError.new("#{@fallback_policy} is not a valid fallback policy") unless FALLBACK_POLICIES.include?(@fallback_policy) self.auto_terminate = opts.fetch(:auto_terminate, true) end
@!visibility private
# File lib/concurrent/executor/ruby_single_thread_executor.rb, line 34 def shutdown_execution @queue << :stop stopped_event.set unless alive? end
Generated with the Darkfish Rdoc Generator 2.