A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Mylo 黑马粉丝团   /  2019-5-24 08:18  /  1308 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

同步概念:
客户端发送请求到服务端,当服务端返回响应之前,客户端都处于等待卡死状态,浏览器是做不了其他事情的。只能等服务器响应完了之后,才能做下一件事情。
例如:下面这段代码,请求服务器的时候,服务器休眠5秒,这个时候,在浏览器点击了同步之后,异步的按钮是按不了的。可是,如果点击的是异步的话,两个按钮都可以按。
<input type="button" value="同步" id="bt1" />
<input type="button" value="异步" id="bt2" />
$("#bt1").click(function () {
    $.ajax({

        type: "post",

        url: "test",

        cache:false,

        async:false,


        success: function(data){
            alert(data);
        }

    });

$("#bt2").click(function () {
    $.ajax({

        type: "post",

        url: "test",

        cache:false,

        async:true,


        success: function(data){
            alert(data);
        }

    });
});

});
@WebServlet("/test")
public class TestServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        try {
            Thread.sleep(5000);
            resp.getWriter().write("test");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }
}


异步概念:
客户端发送请求到服务端,无论服务端是否返回响应,客户端都可以在该页面中随意做其他事情,不会被卡死,提高了用户的体验。



1. 同步,就是调用一个功能,该功能没有结束前,就等待程序返回结果后再继续能够运行
2. 异步,就是调用一个功能,不需要知道该功能结果,程序也能够继续运行,如果有返回消息,再继续执行返回的消息。
同步IO和异步IO的区别就在于:数据拷贝的时候进程是否阻塞。


图片1.png (45.58 KB, 下载次数: 56)

图片1.png

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马