
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
异步编程开发是计算机多线程编程的一种处理方式,而今天我们就一起来了解一下,异步编程的特点与应用,希望通过对本文的阅读,大家对于多线程异步编程开发有更多的了解。
一、异步的特点
优势
1、异步操作无须额外的线程负担,使用回调的方式进行后续处理,在设计良好的情况下,处理函数可以不必使用共享变量(即使无法完全不用,起码可以减少共享变量的数量),减少了死锁的可能。
2、线程数量的减少,减少了线程上下文在cpu切换的开销。
3、微服务环境(调用多个服务接口的情况下)加快了上层接口的响应时间,意味着增加了上层接口的吞吐量
劣势
1、异步操作传统的做法都是通过回调函数来实现,与同步的思维有些差异,而且难以调试
2、如果当前环境有操作顺序的要求,异步操作为了保证执行的顺序需要做额外的工作
3、由于多数情况下异步的回调过程中的执行线程并非原来的线程,所以在捕获异常,上下文传递等方面需要做特殊处理,特别是不同线程共享代码或共享数据时容易出问题。
二、异步应用
1、在并发量较小的情况下,阻塞式IO和异步IO的差距可能不是那么明显,但随着并发量的增加,异步IO的优势将会越来越大,吞吐率和性能上的差距也会越来越明显。
2、在压力比较小的情况下,一般异步请求的响应时间大于同步请求的响应时间,因为异步的回调也是需要时间的
3、在大并发的情况下,采用异步调用的程序所用线程数要远远小于同步调用程序所用的线程数,cpu使用率也一样(因为避免了太多线程上下文切换的成本)
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。