Sync vs Async, Concurrency vs Parallelism - API Servers
For an API server:
- Sync: execution waits/blocks for the operation.
- Async: execution can continue while waiting for I/O.
- Concurrent: multiple operations make progress over overlapping time.
- Parallel: multiple operations execute simultaneously.
On a single CPU core, can multiple API requests be async + concurrent but not parallel when one is waiting for I/O and another is executing?
And does SMT/Hyper-Threading change this distinction?