同步和异步的区别是啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同步和异步的区别是啥相关的知识,希望对你有一定的参考价值。
参考技术A 同步就是许多线程同时用一个资源啥的哦,一个在用别的就要等,异步就相反了,可以不用等待下面这是人家的话:
同步:发送一个请求,等待返回,然后再发送下一个请求
异步:发送一个请求,不等待返回,随时可以再发送下一个请求
同步可以避免出现死锁,读脏数据的发生,一般共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错,同步就会按顺序来修改。
异步则是可以提高效率了,现在cpu都是双核,四核,异步处理的话可以同时做多项工作,当然必须保证是可以并发处理的。
这些都是对的。
同步和异步最大的区别就在于。一个需要等待,一个不需要等待。
比如广播,就是一个异步例子。发起者不关心接收者的状态。不需要等待接收者的返回信息
电话,就是一个同步例子。发起者需要等待接收者,接通电话后,通信才开始。需要等待接收者的返回信息
GWT RPC 中同步和异步接口的作用是啥。谁能详细解释一下?
【中文标题】GWT RPC 中同步和异步接口的作用是啥。谁能详细解释一下?【英文标题】:what are the roles of synchronous and asyncronuos interfaces in a GWT RPC .can anyone explain it in detail?GWT RPC 中同步和异步接口的作用是什么。谁能详细解释一下? 【发布时间】:2013-11-12 04:23:20 【问题描述】:GWT RPC 中同步和异步接口的作用是什么,谁能详细解释一下?
提前致谢。
【问题讨论】:
【参考方案1】:[The] 同步接口是服务规范的最终版本。该服务在服务器端的任何实现都必须扩展
RemoteServiceServlet
并实现该服务接口。[…]
无法直接从客户端调用此版本的 RPC。您必须为所有服务创建一个异步接口 […]
[…]
在您真正尝试从客户端进行远程调用之前,您必须创建另一个客户端接口,一个异步的,基于您原来的服务接口。
[…]
异步方法调用的本质要求调用者传入一个回调对象,该对象可以在异步调用完成时得到通知,因为根据定义,调用者在调用完成之前不能被阻塞。出于同样的原因,异步方法没有返回类型。他们通常返回无效。如果您希望更好地控制待处理请求的状态,请改为返回
Request
。进行异步调用后,所有返回给调用者的通信都是通过传入的回调对象进行的。
来源: http://www.gwtproject.org/doc/latest/DevGuideServerCommunication.html#DevGuideCreatingServices
【讨论】:
谢谢...我还有一个问题。当我们进行 RPC 调用 MyServiceAsyncObject.myMethod(params,callback_object) 为什么服务器不会因为看到额外的参数(即回调对象)而感到困惑,因为它应该期望 myMethod(params) 根据其对接口 MyService 的实现? 因为在客户端和服务器之间有一个很大的生成“机器”和网络? GWT 编译器验证 2 个接口是否匹配并生成客户端代码,该代码将与服务器理解的协议进行对话(服务器本身使用接口的反射和作为参数传递的对象);该协议与您的对象紧密绑定,更改字段的顺序可能会中断通信,迫使您重新编译您的应用程序(重新生成客户端代码以匹配服务器端使用的代码)以上是关于同步和异步的区别是啥的主要内容,如果未能解决你的问题,请参考以下文章