异步与多线程,相信很多人都容易混淆起来吧。而且,它们好像都能达到相同的目的与效果。
下面是小编从网上收集的一些关于两者之间的区别,希望能对大家有所帮助。
·异步和多线程在某些时候就是同一个意思。同步就是顺序执行,执行完一个再执行下一个,顺序可控制,异步就是并行,彼此独立,线程就是实现异步的一个方式。
·异步的主要功能不是减少线程的开销,而是让调用方法的主线程不需要同步等待加一线程的完成,从而可以让主线程干其它的事情。
在执行多线程的时候,系统会从ThreadPool(线程池)中取出线程来执行任务,同时系统会自动管理线程池的大小和线程池中线程的读与取。
总之,多线程就是等于让我们在同一时间做了两件事件。
·异步和多线程并不时一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。
什么是异步:异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。实现异步可以采用多线程技术或则交给另外的进程来处理
·线程池在初始化时里面的线程为0,只有当进程需要一个线程时,才会创建一个线程,并由此线程执行用户的方法。但需要注意的是,此线程执行完后并不会立即销毁,而是挂起等待,如果有其他方法需要执行时,则会唤醒该线程处理任务。只有当它等到40秒(没有官方数字,有可能是其它数字)还没有任务要执行时才唤醒并销毁自己。如果线程池中的线程不够处理任务时,会再次创建一个新线程进行执行。
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf】
打赏
扫码打赏,您说多少就多少