对于一个 WEB 程序员来说,如果他对同步执行模式与异步执行模式不了解, 他往往会在对服务器发出一个操作语句(查询或读取一条记录等操作)后,立该引用服务器返回的执行结果,或者对该结果进行下一步操作,这是很危险的。对于一个简单的过程来说,这样不会存在什么大问题,但如果涉及到一个很复杂的操作过程,比如客户机上的后续语句是在该操作语句发 出后接着执行的,但由于各种原因,服务器不一定能执行完该操作语句,并在后续语句执行前将结果返回客户机。那么后续语句在引用前一操作语句的执行结果时,往往会因为该执行结果并不存在而引用了错误的值,进而造成系统错误或死锁,所以在实际应用中应根据具体情况慎重选择相应的请求模式。
首先我们来学习一下http请求中同步请求与异步请求的定义:
同步请求是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步请求是指:发送方发出数据后,不等接收方发回响应,继续接着发送下一个数据包的通讯方式。
虽然使用异步执行模式相对于同步执行模式时比较麻烦点,但异步模式可以实现多任务并行执行,使用户体验度以及程序执行效率都会有大大的提高。那么在应用程序开发中是选择同步模式还是异步模式,要根据具体的情况来进行判断。当查询或对数据库的修改相对简单时,选择同步执行模式就已经足够了,它能够在几秒或更少的时间内返回结果数据。另外,在应用程序获得结果集前不能继续执行时,根本不必要使用异步执行模式。在复杂查询情况下,特别是复杂的多个表之间的 UPDATE 或 DELETE 操作时,可能需要很长的时间才能完成,这个时候采用异步执行模式最好,让用户可以同时对程序的其他部分进行操作。