Replace ThreadingHelper wait loop with functional CyclicBarrier (#36508)

This commit is contained in:
Ben Sheldon [he/him] authored and GitHub committed 2025-10-20 10:10:43 +00:00
1 parent 82483ed8b0
commit 843c43c97a
1 file changed
+4 -3
+4 -3
View File
@@ -1,17 +1,18 @@
# frozen_string_literal: true
require 'concurrent/atomic/cyclic_barrier'
module ThreadingHelpers
def multi_threaded_execution(thread_count)
wait_for_start = true
barrier = Concurrent::CyclicBarrier.new(thread_count)
threads = Array.new(thread_count) do
Thread.new do
true while wait_for_start
barrier.wait
yield
end
end
wait_for_start = false
threads.each(&:join)
end
end