福州软件开发有限公司是一家专业从事软件开发、软件定制、App开发的软件公司。 新闻| 联系我们 咨询热线>>  135-1408-4304 手机端
网站设计中同步调用,还是异步调用?_福州软件开发定制公司


我们已经知道了同步的基本定义和一些示例,那么让我们拓宽一-下讨论,看看应用中的同步调用和异步调用。同步调用是在调用返回时才能完全执行它们的动作。如果一个方法被调用了,控制权被转给该方法来行使,那么只有当该方法完成了自己要执行的操作,成功地返回了或者返回有错时,应用中调用该方法的地方才会重新得到控制权。换而言之,同步方法先被调用,然后它们执行操作,当它们完成时,会返还控制权。



作为同步方法的一个示例,让我们来看看AllScale公司的HRM服务中的一个方法query_ exec。该方法用于构建和执行一个动态的数据库查询。query_ exec方法中的一个步骤是建立一一个数据库连接。在得到这个数据库连接任务成功完成了的明确确认之前,query. exec方法不会继续执行。这样做既浪费资源,又浪费时间。如果数据库不可用,那么该应用就不应该把时间浪费在创建查询、等待数据库恢复可用上。事实上,如果数据库不可用了,,看看如何划分数据库来提高它的可用性。尽管如此,这是个说明同步调用是 如何工作的例子。因此,发起调用的方法会被暂停,直到被调用的进程返回结果之前,它是不能完成的。
 
另一个说明同步性的非技术示例是两个人之间的沟通,这可以是面对面,也可以是通过电话。如果这两个人都忙于有意义的谈话,那么就不太可能发生其他的动作。其中一人如果不停止与另一人的谈话,那么很难再与第三个人开始交谈。电话会直占线,直到两个人中的一个或者两者挂断了电话。
 
与同步方法或进程相对的是异步方法。在异步方法调用中,会在一个新的线程中调用一个方法,这个方法会立即把控制权返回给调用它的线程。描述异步方法调用的设计模式叫作异步设计或异步方法调用(AMI)。这个异步调用的方法会在另一个线程中继续执行,或成功结束或出现错误,但都不会再与发起它的线程有进一步的交互。 让我们再来看看AllScale公司的query exec方法。在调用了同步方法,建立数据库连接后,该方法需要准备和执行查询了。在HRM系统中,AllScale公司有一个监控框架,能够用来观察所有查询的持续时间以及查询是否成功了,这个框架采用了异步调用方法start query_ time和end query time。这些方法会把一个系统时间存储在内存中,等待调用的结束,以便计算查询的持续时间。然后这个持续时间会被存储在一个监控数据
 
库中,通过查询这个数据库,可以根据查询运行时间的长短了解系统运行状况如何。虽然监控查询的性能很重要,但让查询真正服务于用户的请求更为重要。因此,start query time和lend query_time这些方法是以异步模式调用的。如果它们运行成功并返回了结果,那么AllScale公司的运营团队和软件开发团队就能从监控数据库中得到查询时间。即使监控调用失败了,或者连接监控数据库花了20秒的时间,这些团队都不会在乎。用户的查询仍然在运行,它们根本不关心这些异步调用。
 
回到我们人际沟通的示例,电子邮件是个异步通信的很好例子。你写了电子邮件并把它发出去后,可以立即去做其他的事情,可以写另一封邮件, 也可以打一轮高尔夫球或者其他什么事情。当回复的邮件在一个合适的时候到达时,你可以阅读这封回复的邮件,并可能发出另一封邮件,作为回复。这个软件设计的沟通链除了需要为处理沟通和写回信花费点时间之外,不会妨碍发送者和接收者的任何其他活动。




相关文章
怎样让你的网络视频有创意_福州软件开发定制公司
软件开发新闻推广的发布_福州软件开发定制公司
尽可能在浏览器端维护会话_福州软件开发定制公司
网站设计时不要让用户牵着走_福州软件开发定制公司
怎么让百度有效收录我们公司的网站_福州软件开发定制公司
网站携带负载的压力测试_福州软件开发定制公司
行业动态网页色彩的出现及搭配_福州软件开发定制公司
如何选择配置管理和分配框架?_福州软件开发定制公司
网站内出现复制内容的害处_福州软件开发定制公司
价值转换_福州软件开发定制公司
做好调研,事半功倍_福州软件开发定制公司
正文中的关键词_福州软件开发定制公司
提升网站设计效率,他们必不可少_福州软件开发定制公司
我们如何才能信任你?_福州软件开发定制公司
如何通过自动化实现统一的Web环境?_福州软件开发定制公司
对网站反馈信息要及时处理_福州软件开发定制公司
尽可能使用异步通信_福州软件开发定制公司
Web测试实践步骤_福州软件开发定制公司
网站安全身份认证技术_福州软件开发定制公司
企业内部网应允许控制用户对目录_福州软件开发定制公司


福州软件开发定制公司专注于福州软件定制、福州外包、福州软件开发、管理软件/管理系统开发、微信开发、小程序开发          公司地址:福建省福州市仓山区红江路2-1号泰坤中心3层  联系电话:135-1408-4304

ONLINE SERVICES

咨询电话
135-1408-4304
在线客服
QQ咨询
QQ咨询
QQ咨询
服务时间
9:00 - 24:00