什么是同步编程、异步编程??

来源:百度知道 编辑:UC知道 时间:2024/05/09 10:58:42
一个操作采用同步模式就是指当程序中的一个线程执行到这个操作时,这个线程就停滞在这里,直到这个操作执行完毕,线程才继续执行下一条语句。
用异步模式,则程序中的一个线程执行到这个操作时,这个线程只是执行一些必要的初试化工作,启动这个操作后就继续执行后面的语句,不等待操作返回的结果。

传统的同步编程是一种请求响应模型,调用一个方法,等待其响应返回.

异步编程就是要重新考虑是否需要响应的问题,也就是缩小需要响应的地方。因为越快获得响应,就是越同步化,顺序化,事务化,性能差化。

异步编程通常是通过fire and forget方式实现,发射事件后即忘记,做别的事情了,无需立即等待刚才发射的响应结果了。(发射事件的地方称为生产者,而将在另外一个地方响应事件的处理者称为消费者).异步编程是一种事件驱动编程,需要完全改变思路,将“请求响应”的思路转变到“事件驱动”思路上,是一种软件编程思维的转变.

我们知道,在一般的程序语言中,如果没有特殊处理,代码都是以同步方式进行的。通俗讲就是“一个接一个”,每个操作都在上一个操作完成之后完成。

 

如果你写过窗体应用程序,可能会碰到这样一个情况:直接在窗体事件函数中跑IO操作、网络操作或耗CPU大的操作时,窗体会出现明显的卡顿现象。原因在于窗体的消息循环被耗时的