File: ruby_single_thread_executor.rb

package info (click to toggle)
ruby-concurrent 1.1.6%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 30,284 kB
  • sloc: ruby: 30,875; java: 6,117; javascript: 1,114; ansic: 288; makefile: 10; sh: 6
file content (21 lines) | stat: -rw-r--r-- 549 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
require 'concurrent/executor/ruby_thread_pool_executor'

module Concurrent

  # @!macro single_thread_executor
  # @!macro abstract_executor_service_public_api
  # @!visibility private
  class RubySingleThreadExecutor < RubyThreadPoolExecutor

    # @!macro single_thread_executor_method_initialize
    def initialize(opts = {})
      super(
        min_threads: 1,
        max_threads: 1,
        max_queue: 0,
        idletime: DEFAULT_THREAD_IDLETIMEOUT,
        fallback_policy: opts.fetch(:fallback_policy, :discard),
      )
    end
  end
end