The "aio*" interfaces or similar (perhaps used under the covers by the threads package in liu of the regular blocking system calls) might allow user-mode threads blocked waiting for I/O to not require a kernel thread to be tied up waiting for the I/O completion. - Bill