同步调用以及异步调用--学习笔记
同步调用以及异步调用--学习笔记
什么是同步调用和异步调用?
同步调用就是提交完任务后,在原地等待任务执行完毕,有运行结果或返回值后再执行下一步,同步调用下任务是串行执行。如图所示:
以上代码,并没有使用异步调用,所以它会等待一个线程运行完毕,才会运行下一个,结果如下图所示:
异步调用主要用来提升程序性能的,异步会增加系统的开销(新建一个线程去执行异步的任务)。就是提交完任务后,直接执行下一行代码,不会再原地等待任务执行完毕,异步调用时并发执行。
异步调用时首先要新建一个异步任务,然后开启异步任务的执行。如下图:
因为上边代码使用了异步调用,所以它的运行结果不会按顺序出现,结果如下图所示:
异步调用应用场景:
主要应用于耗时长的操作:
访问数据库时建议使用异步(应用程序跟数据库不在同一台服务器上)
服务之间的调用建议使用异步(服务会分散在不同的服务器上)
使用方法:
start();开始一个线程
Result();阻断当前线程的执行
Thread.Sleep(1000);当前线程进行休眠一秒钟