同步
定义:
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。
可以理解为同步需要进行等待,在上一步跑完后下一步才能继续执行。
一般用于流程性比较强的程序,比如用户登录,需要对用户验证完成后才能登录系统。
特点:
同步是阻塞模式;
同步是按顺序执行,执行完一个再执行下一个,需要等待,协调运行;
异步
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
异步不需要进行等待,不管其他进程状态,直接就可以执行。比如加载页面。
特点:
异步是非阻塞模式,无需等待;
异步是彼此独立,在等待某事件的过程中,继续做自己的事,不需要等待这一事件完成后再工作。线程是异步实现的一个方式。
优缺点:
同步可以避免出现死锁,读脏数据的发生。一般共享某一资源的时候,如果每个人都有修改权限,同时修改一个文件,有可能使一个读取另一个人已经删除了内容,就会出错,同步就不会出错。但,同步需要等待资源访问结束,浪费时间,效率低。
异步可以提高效率,但是安全性较低。