I don't think the last example about testing is correct:
threads = []
3.times do
service.call
end
threads.each(&:join)
It probably intends to spin up the call in 3 separate threads and then wait on all of the threads as they do the work in parallel, but as written it will just do `service.call` three times in a row and then wait on zero threads.