java同步和异步的区别_java中同步与异步的区别是什么?表现在哪里?

上次已经为大家介绍过java多线程的同步与异步,为大家详细分析了这两者的基本概念,今天再来详细的解析一下这两者之间的区别,并且它们的表现也是不同的,一起来了解一下吧。

首先,他们最大的区别是,同步需要等待,而异步无需等待。

举个例子说明一下:

普通B/S模式(同步)AJAX技术(异步)

同步:提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干别的事。

异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕。

说的再通俗易懂点,同步是按顺序执行,执行完一个再执行下一个,需要等待、协调运行。异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。

线程就是异步实现的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。

实现异步可以采用多线程技术或则交给另外的进程来处理。

同步和异步区别:(好处和坏处)

同步可以避免出现死锁,读脏数据的发生。一般共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错。

同步就会按顺序来修改。但是,同步需要等待资源访问结束,浪费时间,效率低。

异步则可以提高效率,现在cpu都是双核,四核,异步处理的话可以同时做多项工作,当然必须

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值