同步IO与异步IO的区别

同步概念:
客户端发送请求到服务端,当服务端返回响应之前,客户端都处于等待卡死状态,浏览器是做不了其他事情的。只能等服务器响应完了之后,才能做下一件事情。
例如:下面这段代码,请求服务器的时候,服务器休眠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, 下载次数: 0)

 

图片1.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值