同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
比如A和A1两个进程,两个都要执行1.在平面上画个圆,2.删除圆画三角形,3.涂色(其绘制圆和涂色由Gpu进行,删除需要Gpu向Cpu发送请求)
假设A是同步,A1是异步,首先A和A1Gpu都画了个圆,其次执行第二步(敲黑板)A:Gpu向Cpu发送请求删除圆,A的Gpu之后就在等,直到Cpu命令回来后,删除圆并画三角形,然后执行第三步涂色;A1:Gpu向Cpu发送请求删除圆,A1的Gpu没有等直接执行第三步涂色,一段时间后,Cpu命令回来了,删除圆并画三角形。
我们看到:A按部就班,结果:画圆,删圆画三角形,在三角形上涂色。
A1在空闲时间(向Cpu请求等待的时间)执行下一步操作,结果:画圆,在圆上涂色,再删圆画三角形。