Open
Description
In 455203e, the RubySingleThreadExecutor
implementation was updated to use the generic RubyThreadPoolExecutor
. With that change, the previously included SerialExecutorService
module was removed, resulting in RubySingleThreadExecutor#serialized?
now returning false
.
I'm wondering if that is actually correct, given that we still have exactly one thread which executes a single task at a time which is pop'ed from the queue serially?
Shouldn't the module be included again, or more generally: shouldn't RubyThreadPoolExecutor#serialized?
always return true if its max_threads
is <= 1?
Metadata
Metadata
Assignees
Labels
No labels
Activity
meineerde commentedon Nov 1, 2024
Conversely, in case I'm mistaken and
RubySingleThreadExecutor
is in fact notserialized?
, its documentation should probably be amended to explain why.bensheldon commentedon Nov 1, 2024
I think you're correct that
SerialExecutorService
shouldn't have been removed. The Java implementation does include the module:concurrent-ruby/lib/concurrent-ruby/concurrent/executor/java_single_thread_executor.rb
Line 12 in 56227a4
Could you make a PR for that?