- A+
同步与异
同步和异步是两个看起来很吓人但很简单的大词。同步仅表示所有事件均以可以预测的特定时间顺序发生。某个事件将始终跟随另一个事件,并且不能互换。异步与同步相反。在异步过程中,没有时间顺序。某些事件可以并且通常可以互换。音乐是一个很好的同步例子。每个参与乐器都需要与其他乐器保持节奏,否则音乐听起来不正确。对于异步,流量就是一个很好的例子。车辆以不同的速度移动,通常一个人越过另一个。
在大多数应用中,同步操作至关重要,因为异步操作在字面上意味着混乱。例如铁路和机场。在这些情况下,重要的是要知道哪个车辆先行驶以避免碰撞。事情的顺序是经过仔细计划的,以促进流程的顺利进行,而对计划的更改却很少而且相差很远。
尽管通常首选同步操作,但在某些情况下不需要同步操作。甚至在某些情况下,同步操作可能对目标不利。在Internet浏览中,实际上不需要同步操作的示例。在使用AJAX(异步Javascript和XML)之前,大多数网页都需要全部重新加载,以在一小部分上更改信息。使用AJAX,现在可以更新该特定部分,而其余页面保持不变。这是有益的,因为需要传输的数据量较小,并且用户不必忍受整个页面的刷新。AJAX是异步的,因为页面更新不再同步。
在计算机操作中,I / O是同步操作有害的区域。在这方面,同步操作意味着处理器需要等待数据写入或读取后才能继续。问题是,具有机械部件的I / O设备(如硬盘驱动器,尤其是软盘驱动器)非常慢。如果处理器需要等待驱动器完成,那将浪费大量时间。异步操作允许处理器在等待读/写完成的同时做其他事情,并且一旦操作成功就继续进行。
摘要:
按时间顺序同步的手段,而异步意味着没有时间顺序
同步优于异步在许多现实世界的应用程序
同步可以在某些情况下比异步表现较差