同步: 所有操作完成之后,才会通知用户操作完成了.
异步:不用等所有操作完成之后,就会通知用户操作完成了,然后后台会继续操作直到完成结束.
为了方便理解 举例个常见的
android 网络请求使用的异步请求, 为啥不用同步呢
假如改成同步了, 要等所有的操作完成之后才会通知用户操作完成,假如主线程在这个期间等待超过了5s
android 这边会提示 anr 应用程序无响应. 所以我们选择了异步请求....
这是自己的理解
网上别人举得例子:
举个例子:普通B/S模式(同步)AJAX技术(异步)
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
同步线程与异步线程
线程同步:是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低
线程异步:访问资源时在空闲等待时同时访问其他资源,实现多线程机制