前言

本人学习.Net两年有余,是第一次写博客,虽然写的很认真,当毕竟是第一次,肯定会有很多不足之处,
希望大家照顾照顾新人,有错误之处可以指出来,我会虚心接受的。

何谓异步

  • 与同步相对应,异步指的是让CPU暂时搁置当前请求的响应,处理下一个请求,当通过轮询或其他方式得到回调通知后,
    开始运行。多线程将异步操作放入另一线程中运行,通过轮询或回调方法得到完成通知,但是完成端口,由操作系统接管
    异步操作的调度,通过硬件中断,在完成时触发回调方法,此方式不需要占用额外线程。

  • 异步编程正在被使用的的越来越多,主要就是解决处理并发方面;那什么是并发呢?并发指的就是某个时间段,多个用户同时访问
    造成的阻塞现象。很多人都有个误解,觉得异步编程能缩短我们处理某个任务的时间,其实并没有.

异步与多线程的异同点

  • 两者都可以达到避免调用线程阻塞的目的,异步使用的是线程池中的线程,没有额外的线程负担,
    并且使用回调的方式进行处理,与普通人的思维方式有些出入,而且难以调试。多线程的处理方式
    依然是顺序执行,符合常人的思维方式,所以编程较简单,但会带来额外的线程负担,并且线程间
    的共享变量可能会造成死锁的出现。而且线程也是对象也需要占用内存,因此线程月多占用内存也
    越多,多线程能缩短某个处理任务的时间,异步编程则不能。

理解多线程

  • 在某个时间段,也许我们想缩短我们处理某个任务的时间,这个时候绝不是使用
    异步,而是使用多线

    网友评论