同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。
异步:异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
异步是一种效果,可以使程序有更好的相应速度。异步调用可以用多线程、线程池实现。比如一个网络服务器没接到一个连接请求就可以开辟一个新线程来完成一次连接。
但是多个线程之间往往内部需要通信,或者访问一些共享的资源。而为了保护这些资源不被破坏,必须要求这些线程一个一个的去访问这些共享资源(同步方式访问),等一个访问完了另一个才能访问。
结论:宏观上看,多个线程能起到一种异步的效果。微观上看,维持线程之间良好的关系,而不出现异常,他们内部必须同步。