当前位置: 代码迷 >> VB Dotnet >> [vb.net]关于同步操作与异步操作的概念有关问题
  详细解决方案

[vb.net]关于同步操作与异步操作的概念有关问题

热度:50   发布时间:2016-04-25 02:13:08.0
[vb.net]关于同步操作与异步操作的概念问题
我在网上查了很多关于异步操作解释问题,但是答案各不相同。

以我的理解是这样的。同步和异步的相同点是运行顺序都是一样的,再说同步和异步就是阻塞式按顺序进行的。

我在测试中都是这样按顺序运行的。

不同的差异是只是有些函数运行时间较长而导致鼠标和键盘响应不了,认为是死机或卡机。

为了解决这个问题就调用异步方法,这个方法就是<等待〉wait

令我不解的是怎么还有<非阻塞式运行>,如果非阻塞式运行这个程序可能无意义,一句话就是乱七八刀

大家解释相同点和不同的差异。


------解决方案--------------------
这么说吧,把CPU比作车道,同步就是在一条车道上按顺序来,异步就是转到另一条车道上来。
如果只有一条车道呢?其实是一个个来的(每个线程都分成好几段分段顺序执行)。

所以为什么异步会不妨碍界面的响应,就是因为它和界面已经不在一个线程上了。
在你用Await的时候,是会对原有线程进行一个通知的,这时候可能又转回原有线程上去了。
  相关解决方案