同步和异步:

同步:如果数据需要在多个线程之间共享

异步:应用程序调用了一个方法,这个方法比较耗时,应用程序不希望等待方法返回,而去做一些其他事情。