学习地址:http://blog.csdn.net/stpeace/article/category/1628159
本博客部分知识由该链接部分博客栏目积累而来,在这里感谢一下博主。
阻塞和非阻塞:它们关注的是某个调用的执行状态。阻塞是指调用结果返回之前,当前调用会被挂起。非阻塞则是当前调用立即返回,不管有没有结果(但可能要重复调用).
同步和异步:它们关注的是消息通信机制,即整个调用过程。同步就是在发出一个调用时,在没有得到结果之前,调用不返回。异步则相反,调用发出后,就立即返回了,不管有没有得到结果。这表明异步可能不会立即得到结果,而是在调用发出后,被调用者通过状态,通知来通知调用者,或通过回调函数处理这个调用。
同步阻塞:调用不返回,调用挂起,直到等到结果
同步非阻塞:调用不返回,但调用不挂起,但过会儿再调用线程查看结果
异步讲阻塞和非阻塞没啥意义,都统称异步。
后台开发常用到异步sever:某个时刻有大量用户访问后台数据库。如果是同步,这些用户中的大部分用户就需要等待一些时间,因为读数据库需要花时间,大量的用户同时读数据库就有一些用户要等待其他用户读完再读。在异步的情况下再想提升效率,则购多台服务器,每个服务器多开些进程。