Class: JFuture::ExecutorFactory
- Inherits:
-
Object
- Object
- JFuture::ExecutorFactory
- Defined in:
- lib/j_future/executor_factory.rb
Constant Summary collapse
- @@executor_map =
{}
Class Method Summary collapse
- .create(core_pool_size: 20, max_pool_size: 20, keep_alive_millis: 120000, queue_size: 10, name: :default, thread_factory: DaemonThreadFactory.new) ⇒ Object
- .get_executor(name = :default) ⇒ Object
Class Method Details
.create(core_pool_size: 20, max_pool_size: 20, keep_alive_millis: 120000, queue_size: 10, name: :default, thread_factory: DaemonThreadFactory.new) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/j_future/executor_factory.rb', line 4 def self.create(core_pool_size: 20, max_pool_size: 20, keep_alive_millis: 120000, queue_size: 10, name: :default, thread_factory: DaemonThreadFactory.new) work_queue = queue_size.to_i > 0 ? Java::JavaUtilConcurrent::LinkedBlockingQueue.new(queue_size.to_i) : Java::JavaUtilConcurrent::SynchronousQueue.new executor = Java::JavaUtilConcurrent::ThreadPoolExecutor.new( core_pool_size.to_i, max_pool_size.to_i, keep_alive_millis.to_i, MILLIS, work_queue, thread_factory) @@executor_map[name] = executor end |
.get_executor(name = :default) ⇒ Object
24 25 26 |
# File 'lib/j_future/executor_factory.rb', line 24 def self.get_executor(name = :default) @@executor_map[name] end |