Intel TBB provides a great foundation for expressing parallelism in applications that are mostly compute-bound. But threading is also often used as a way to handle multiple I/O requests, where developers face their own thread coordination challenges.

What kinds of support functions might we see in a threading library designed for I/O-oriented multi-threaded applications?