ThreadPoolExecutor fan-out for I/O-bound work.
Share a counter across threads with Arc>.
Use std::thread::spawn and join handles for parallel work.
Fan out HTTP calls across threads and join them.