同步通信的特点:
1、同步通信依赖于被调用方,受限于被调用方的性能。也就是说,应用操作数据库,线程会阻塞,等待数据库的返回。
2、一般只能做到一对一,很难做到一对多的通信。
异步跟同步相反:
1、异步可以避免应用阻塞等待,但是不能节省SQL 执行的时间。
2、如果异步存在并发,每一个SQL 的执行都要单独建立一个连接,避免数据混乱。但是这样会给服务端带来巨大的压力(一个连接就会创建一个线程,线程间切换会占用大量CPU 资源)。另外异步通信还带来了编码的复杂度,所以一般不建议使用。如果要异步,必须使用连接池,排队从连接池获取连接而不是创建新连接。
一般来说我们连接数据库都是同步连接。