IO-bound versus CPU-bound tasks

There are two types of tasks. If a task doesn't carry out many calculations, but it does do a lot of input/output operations, it's called an I/O-bound task. Since CPU is much faster than input/output buses, we have to wait a long time for a bus or device to be available for reading or writing. I/O-bound tasks can be handled well in an asynchronous way.

If a task does a lot operations using CPU, it's called a CPU-bound task. For example, image resizing is a kind of CPU-bound task, because it recalculates the pixels from an original image, but only saves the result when it's ready.

The difference between I/O-bound and CPU-bound tasks isn't obvious and not every task can be classified strictly to an I/O or CPU ...

Get Hands-On Microservices with Rust now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.