or download this
The reason is that if you want to do two things at once, say read from
+ some other
network connection, and your SSH session, you have two options:
...
use non-blocking APIs so the same thread can do both
This latter approach is called Asynchronous I/O. See for example twist
+ed which uses it extensively.