intermediateMultithreading & Concurrency
How do you size a ThreadPoolExecutor differently for CPU-bound vs I/O-bound workloads?
CPU-bound: pool size ≈ number of CPU cores (more threads than cores just adds context-switching overhead). I/O-bound: pool size can be much larger than core count, since threads spend most of their time blocked waiting on I/O rather than actually using the CPU.
Ready to master this question?
Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.
Sign in to generate a response