异步与多线程的区别与联系?

finalrender 2005-01-08 01:33:50
异步与多线程到底有那些关联的地方?两者的区别又是什么呢?

望各位指教!
...全文
1448 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoking3210 2005-04-21
  • 打赏
  • 举报
回复
To mari(kkkk)

解释得简单明了,收藏了
daddi 2005-03-12
  • 打赏
  • 举报
回复
顶,学到不少,我发现我在这里问问题,多半很难得到优秀的答案,相反,用搜索却能得到不错的答案。晕。
zhilong 2005-01-27
  • 打赏
  • 举报
回复
呵呵,有点意思。
mari 2005-01-25
  • 打赏
  • 举报
回复
异步当然是多线程,只是线程是由系统来管理的
异步操作一般用于调用比较费时的方法或多人私聊等程序,开始调用后,系统可以继续进行其它操作,等调用方法结束后,使用委托回调函数通知来对已经处理完的方法进行相应处理。
举例:
离你很远的地方有个很漂亮的女网友,你想知道她到底对你如何,你通过邮政礼仪,寄给她一支玫瑰(相当于异步调用)。因为回执要等很多天,所以,你这些天不必整天傻等回执,可以照样吃饭工作(处理些简单的事务),当然,如果你这些天又泡到个MM,这时你就要选择,如果也用异步的方法,当然没问题,因为哪个回执先回来,先处理那个,但如果你对后面这个MM采用同步方式,那你只能解决掉这个同步的MM后,才能处理前面那个回执,不管那个回执何时到达。
这和多线程也有点不同,多线程是两个色狼泡两个MM,自己泡自己的。
嘿嘿

j99616 2005-01-20
  • 打赏
  • 举报
回复
你可以作一个测试,在异步回调函数中,显示当前线程号,可以看到异步是要开一个新的线程的,异步的性能优越于多线程的,至于内部的 机制,如果你懂得VC,你 就很清楚了
at20001 2005-01-14
  • 打赏
  • 举报
回复
本质上的差别,异步是一种通信方法,和同步对应
而线程是cpu的一个逻辑执行单元
实现异步不一定要用多线程。
Ivony 2005-01-14
  • 打赏
  • 举报
回复
所以你只要重写了Read和Write方法,系统就会自动地提供BeginRead/EndRead和BeginWrite/EndWrite方法的实现。
Ivony 2005-01-14
  • 打赏
  • 举报
回复
异步就是简化了的多线程操作,BeginRead实际上就是开一个线程读,EndRead就是把当前线程Join到BeginRead开的新线程上,也就是等它结束。
sywcf 2005-01-14
  • 打赏
  • 举报
回复
异步可以是单线程的,你可以在网上查一下,有很多关于单线程异步的例子
hhhh63 2005-01-11
  • 打赏
  • 举报
回复
异步主要是指通信,相对于同步而言。同步通信时,应用程序等待对方通信结束后返回消息循环;异步通信时,不等待对方回应,直接返回到消息循环,当对方回应时,操作系统以事件方式通知应用程序,此间当然也可能处理其它事件。它与线程的主要区别在于,在处理通信的同时不能同时处理其它事件。
如果是两个线程的话,他们的任务可以同时进行,互不影响。
维她奶 2005-01-11
  • 打赏
  • 举报
回复
恩....看了一下资料,异步好象是使用到了线程池,线程的控制都在framework的管理之下,用户不能象自定义的线程那样随意控制。说的不知道对不对,希望星级大虾近来详解一下,呵呵...
finalrender 2005-01-11
  • 打赏
  • 举报
回复
VS.NET中的帮助实在是太零碎了,看得晕头转向的,望各位大虾给点学习的方法就是究竟什么情况下使用异步而什么情况下使用多线程呢?
robin0925 2005-01-11
  • 打赏
  • 举报
回复
觀注!!
nga96 2005-01-11
  • 打赏
  • 举报
回复
原来异步是用多线程来实现的呀,顶一下,学习中
qing0954 2005-01-11
  • 打赏
  • 举报
回复
我也是菜鸟,观点与finalrender(戒情人)差不多,分别什么时候用异步或者多线程呢?
lucbesson 2005-01-11
  • 打赏
  • 举报
回复
MSND 系统的看一下,一些碎片会让你更头疼。
finalrender 2005-01-10
  • 打赏
  • 举报
回复
那么就是说异步与多线程是两个不同的概念,但是异步的实现却是基于多线程技术。

是不是这个意思呢?

新手,望各位指点。
cppTrier 2005-01-08
  • 打赏
  • 举报
回复
晕...打错字了...用五笔打错字还真是麻烦...上面的那个应该是多线程
cppTrier 2005-01-08
  • 打赏
  • 举报
回复
异步只是一个通信的概念,和多线程没有必然的联系,这个你看一下单片机的异步通信方式就明白了。不因为你在用的异步通信方式使用了多纯种的技术,就觉得异步非要多线程不可。
oyljerry 2005-01-08
  • 打赏
  • 举报
回复
异步,相当于一个线程处理一部分,有一个线程的同步
加载更多回复(6)

111,086

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧