欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

感觉async await 异步编程 并不能提升性能?

程序员文章站 2023-11-10 22:41:46
我有2个方法 代码相同 都是执行上传文件IO操作 一个同步 一个异步 接着我用POSTMAN 分别用200个线程 去同时测试2个接口 结果很意外 2个接口 同时执行完成的速度 异步更慢 之前经常看别人博主说 尽量用异步来优化自己的代码 但是经过自己测试后 发现使用异步的效率结果更差,后面仔细想了下 ......

我有2个方法 代码相同

都是执行上传文件io操作 一个同步 一个异步

 

感觉async await 异步编程 并不能提升性能?

 

接着我用postman 分别用200个线程 去同时测试2个接口

感觉async await 异步编程 并不能提升性能?

 

 

结果很意外 2个接口 同时执行完成的速度 异步更慢

之前经常看别人博主说 尽量用异步来优化自己的代码

但是经过自己测试后 发现使用异步的效率结果更差,后面仔细想了下 好像确实是这么回事

所谓的异步操作就是一个a线程在执行任务的时候,执行到一半 再把任务交给b另一个线程,

然后a线程就开始等待b的执行完成了,那这不还是同步的吗? 还是我理解的有问题呢?

比如我请求50次

同步请求只需要50个线程完成任务

异步请求则需要100个线程  50个线程等待  50个执行上传任务

这不更增加线程的开销吗? 小弟实在没搞懂