Hurd servers / VFS libraries are multithreaded.

Implementation

  • well-known threading libraries

Design

See libports: roughly using one thread per incoming request. This is not the best approach: it doesn't really make sense to scale the number of worker threads with the number of incoming requests, but instead they should be scaled according to the backends' characteristics.

The Critique should have some more on this.

Event-based Concurrency Control, Tom Van Cutsem, 2009.

Alternative approaches:


See also: multiprocessing.