欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

热门阅读

关于C#中异步与多线程的区别

创建时间:2011年09月07日 23:02  阅读次数:(7045)
分享到:
异步与多线程,相信很多人都容易混淆起来吧。而且,它们好像都能达到相同的目的与效果。

下面是小编从网上收集的一些关于两者之间的区别,希望能对大家有所帮助。

·异步和多线程在某些时候就是同一个意思。同步就是顺序执行,执行完一个再执行下一个,顺序可控制,异步就是并行,彼此独立,线程就是实现异步的一个方式。

·异步的主要功能不是减少线程的开销,而是让调用方法的主线程不需要同步等待加一线程的完成,从而可以让主线程干其它的事情。
在执行多线程的时候,系统会从ThreadPool(线程池)中取出线程来执行任务,同时系统会自动管理线程池的大小和线程池中线程的读与取。
总之,多线程就是等于让我们在同一时间做了两件事件。

·异步和多线程并不时一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。
什么是异步:异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。实现异步可以采用多线程技术或则交给另外的进程来处理

·线程池在初始化时里面的线程为0,只有当进程需要一个线程时,才会创建一个线程,并由此线程执行用户的方法。但需要注意的是,此线程执行完后并不会立即销毁,而是挂起等待,如果有其他方法需要执行时,则会唤醒该线程处理任务。只有当它等到40秒(没有官方数字,有可能是其它数字)还没有任务要执行时才唤醒并销毁自己。如果线程池中的线程不够处理任务时,会再次创建一个新线程进行执行。
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 41+34=? 的结果(结果是:75)
结  果: