http://blog.csdn.net/hguisu/article/details/7453390
同步:就是我等返回结果
异步:就是我不等返回结果(当时需要被调用方配合,就是不管有没有真正做事儿,先返回一个信息过来)
阻塞:就是线程没有让出CPU,当前线程不能做其他事儿
非阻塞:线程让出了CPU,可以做其他事儿
两者组合:
同步阻塞:我等结果,而且我死等,我不做其他事儿,也不能做其他事儿,例如 blocking io
同步非阻塞:我等结果,但是我在等的时候我做其他事儿,同时我还时不时地看下有没有做完,例如 nonblocking io, io复用(select 和poll)
异步非阻塞:异步没有跟阻塞的组合,因为异步就是要立刻返回信息,例如 epoll