wish I could--so far I think the analogy is:
thread is to program,
what process is to system.
I'd be happy to hear a better explanation
Sam knew of a way (NIO) to have a single thread handle many jobs at once, and so rather than creating a new thread for every job, like connecting to a host, one "connecting" thread can handle multiple connections. This means more CPU use within a single thread. IIRC, he has found a way to create single threads for uploads, connections, downloads (and more).
I recall other developers before Sam trying to work on NIO, but that seriously involved major rewrites of much of the code, as you can imagine.
MAJOR credit to Sam for seeing this through, and so successfully
I was honestly expecting many bugs, and am surprised there are so few.