java异步接收转发数据_java中同步交互 与 异步交互

Java中交互方式分为同步和异步两种,

同步交互

指发送一条请求,需要等待返回,然后才能够发送下一条请求,有一个等待过程。

(请求状态一致,数据状态一致;页面整体刷新,同步在后台处理结束后需要重新刷新或转发处理结果到前台,同步比较占用资源,用户体验差)

异步交互

指发送一个请求,不需要等待返回,随时可以在发送下一个请求,即不需要等待。

(请求状态不一致,数据状态一致,页面局部刷新,异步在后台处理结束后不需要重新刷新或转发跳转,只需要将处理后的结果传送到前台即可,异步占用资源少,用户体验好)

区别

一个需要等待,一个不需要等待,在部分情况下,我们的项目开发中都会优先选择不需要等待的异步交互。

联系:都是从客户端或浏览器向服务器发送请求,然后服务器接收请求,处理后将结果响应给客户端前台。且都可以在请求中携带参数。

同步交互适用于确保资源一次只能被一个线程使用的过程,同步对于单线程程序没有任何好处。使用同步比非同步的性能差三四倍。

线程都是独立的,而且异步执行,也就是说每个线程都包含了运行时所需要的数据或方法,而不需要外部的资源或方法,也不必关心其他线程的状态或行为。

但是经常有一些同时运行的线程需要共享数据,此时就需考虑其他线程的状态和行为,否则就不能保证程序运行结果的正确性。

需要做的是允许一个线程彻底完成其他任务后,再允许下一个线程执行。必须保证一个共享的资源一次只能被一个线程使用。实现此目的的过程成为同步

总结

如果数据将在线程间共享,例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。

当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步交互,在很多情况下采用异步途径往往会很有效率

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值