Synchronous I/O is actually better than async for many programs, partly because almost all async systems were designed without thinking about priority inversions and can't resolve them properly. If you have futures, you have this problem.
That can work but I think it's cheating. Especially if your scheduling is tied into
power management or you have high/low power cores, then boosting the low priority threads will waste power.
Yes. And.
Synchronous I/O is suitable for almost all projects
When it is unsuitable it is catastrophicly unsuitable,