问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c#异步和多线程有什么区别和联系

发布网友 发布时间:2022-04-27 01:17

我来回答

2个回答

热心网友 时间:2022-06-22 01:40

异步和多线程可以说没有必然的联系,只能说异步可以通过多线程实现而已
要理解这些东西,你得具备很多相关的知识,操作系统原理,编译原理等
简单地来说,计算机或者说CPU执行你的代码都是顺序执行的,当前的语句没有执行完,不会执行后面的语句的,这是永远不变的规则!
但是这样的机制会使整个执行效率很低,因为CPU总是要等待当前的语句执行完毕了才会执行后面的代码,而计算机在绝多数的时候都是处于等待用户的输入,等待磁盘文件的读取完成,等待网络数据的传输完成中,所以为了提高整个系统的运行效率,提高CPU的执行效率,计算机系统引入了异步的机制。
异步机制,简单地说就是CPU不会傻傻地处于等待状态,它会先干别的事情,当它需要的东西已经准备完毕后(大多数的情况都是等待外部的输入数据准备完毕,也有些是复杂的计算完毕),硬件系统给CPU一个中断,告诉有了新的数据了,你现在可以去处理了。
这就是最基本的异步原理,而现代操作操作系统对硬件系统做了良好的封装,把很多底层机制屏蔽了,为程序的开发者提供了事件和多线程的概念,让程序的开发者可以更好地利用异步机制。
再说说多线程吧。多线程是计算机引入了操作系统之后才有的概念,至于为什么计算机要引入操作系统,在此就不叙述了,自行了解。多线程的实现有两个方法,一个就是增加CPU的核数和个数,这是最直接的方法,还有一种是采用CPU轮询的方式,每个进程都执行一段时间,又去执行另一个进程的指令,由于切换的速度非常的快,给人的感觉就是同时执行的。
说了这么多,你可能很失望,因为没有代码,没有举例。但我想说的是,用代码无法说明这个问题,不同的操作系统,不同的编程语言,不同的编程框架,对异步和多线程的定义和处理是不一样的,但原理就是这样的。
我们写代码无非就是写一堆的指令去要求CPU执行,同步的方式就是这样的:
我:hi,CPU,我要你做一件事情,而且必须立刻马上就做,因为我正在等着你。
CPU:那你就等着吧,我现在去做。
异步的方式是这样的:
我:hi,CPU,我要你做一件事情,但是不是立刻就做,你可以交给下面的人去做,或者找一个帮手来,我们继续做后面的事情.
CPU:好的,我现在通知硬件去做,等有结果了我通过事件告诉你
或者
CPU:好的,我让另一个核心来做这件事情,我们继续(其实多线程是操作系统实现的,我只是这么举个例子而已)

热心网友 时间:2022-06-22 01:40

多线程是实现异步操作的其中一种方式,处理繁杂耗时的任务的同时又不挂起UI。
异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。实现异步可以采用多线程技术或则交给另外的进程来处理。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
夫妻养狗狗把谁当主人 两人同养狗认谁当主人 什么蔬菜和水果可以美容祛斑呢? vivox60怎么查看参数配置详情 怎样查看vivo手机的屏幕参数? vivo手机怎么看手机参数 vi##手机怎么看配置? 义乌到湖州没有直达快客???必须到南浔?? 湖州到绍兴的汽车有几班? 注销驾考需要本人吗 c#中异步和多线程的区别 OS之并发与并行,异步和多线程的区别 异步一定是多线程吗 异步和多线程的区别 多线程和异步的关系和区别 大连思科培训机构都有哪些?谁最专业? A股熔断机制和跌停有什么区别 熔断机制对股票有什么影响 熔断机制出了什么问题 为什么说熔断机制是股市的【安全套】? PMP含金量高吗? 鬼女魔咒的简介 求一部日本恐怖片的名字,还蛮新的,两字,就一个女的被一个女鬼追杀,然后那个怪物一直发出咯咯咯的声音 鬼女魔咒是什么意思啊 鬼女魔咒麻袋钢真面目 《鬼女魔咒》红婶扮演者是谁? 跪求什么视频可以免费看韩剧,【免费高清】在线观看百度网盘资源 鬼女魔咒——喀喇喀喇的女鬼到底是谁?为什么女鬼出现会有喀喇喀喇的声音?整个剧情到底讲述的是什么? 跪求可以免费观看的视频,【在线观看】免费百度云资源 鬼女魔咒 钢 讲的什么 单线程和同步 多线程和异步 http异步请求和多线程的区别 iOS多线程和异步的联系与区别 异步编程与多线程编程的联系和区别 c#的async到不是不是异步,它和多线程是什么 异步,多线程和并行的区别 C#开发中什么时候用异步,什么时候用多线程?具体说明一下,谢谢_百度知 ... Servlet3中的AsyncContext异步和多线程异步有什么区别 菱形脸女生适合什么发型? 周公解梦梦见从坟墓里钓到鱼 梦见自在墓地逮鱼,和烤了吃了什么意思? 梦见老公在坟旁水泥地底下掉鱼好多鱼钓上来给放了 纹上有佛 梦见杀死日本人然后看见坟墓。坟墓旁边还有纸马,孝棍,好像坟墓旁边还有白烟在漂,又梦见钓了一条鲤鱼 昨天晚上做了个奇怪的梦,梦见很多人在我家前的河边钓鱼,问他们是哪人,他们回答“九里”{火葬场坟场}求 梦见退水现坟 梦见刚刚还在和别人一起钓鱼,不知怎么地水退下去了,看见一座坟墓,我想问问大神们这有什 怎么取消华为的降频 订阅微信公众号要收费吗 退役士兵与复员军人不是一回事儿吗?到底有什么区别? 什么的北京 如何填写? 北京别称是什么呢?