网页设计中同步骤用,仍是异步骤用?
发布日期:2023-04-05浏览量:155
咱们曾经知道了同步的基本界说和一些示例,那末让咱们拓宽一-下接头,看看应用中的同步骤用和异步骤用。同步骤用是在挪用返回时才气彻底执行它们的动作。若是一个要领被挪用了,控制权被转给该要领来利用,那末只要当该要领完成为了本身要执行的操纵,胜利地返回了或者返回有错时,应用中挪用该要领的处所才会从头获得控制权。换而言之,同步要领先被挪用,而后它们执行操纵,当它们完成时,会返还控制权。
作为同步要领的一个示例,让咱们来看看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秒的时间,这些团队都不会在意。用户的查询依然在运转,它们基本不关怀这些异步骤用。
回到咱们人际相同的示例,电子邮件是个异步通讯的很好例子。你写了电子邮件并把它发出去后,可以当即去做其余的事情,可以写另外一封邮件, 也能够打一轮高尔夫球或者其余甚么事情。当回复的邮件在一个适宜的时辰达到时,你可以浏览这封回复的邮件,并能够发出另外一封邮件,作为回复。这个网页设计的相同链除了需求为处置相同和写回信破费点时间以外,不会阻碍发送者和接管者的任何其余勾当。
相关文章: