同步调用:
调用者等待被调用者返回结果(执行完)才执行下一步
优点: 代码简单
缺点: 若被调用者执行的是耗时操作,会产生阻塞
异步调用:
调用者不用等待被调用者的返回结果也可以执行下一步
优点:若被调用者执行的是耗时操作,不会产生阻塞
缺点: 代码较复杂
还是不太懂?
举个例子:
同步调用:就像一个专情的屌丝男追求一个女孩,等待着这个女孩的回应,在等待回应之前这个男的不会去勾搭别的女孩。
异步调用:就好比一个渣男对女孩A发起追求(请求),等待女孩A回复的时候,这期间他又去勾搭女孩B。。。。
代码:
同步调用:
public class syncCall
{
public String Wait()
{
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("女:同意了");
return "同意了";