永发信息网

求深入浅出讲解VB.NET下利用Async和Await实现异步的方法。

答案:4  悬赏:70  手机版
解决时间 2021-03-07 06:28
  • 提问者网友:感性作祟
  • 2021-03-07 03:27
求深入浅出讲解VB.NET下利用Async和Await实现异步的方法。
最佳答案
  • 五星知识达人网友:轻熟杀无赦
  • 2021-03-07 04:35
un需要一个action方法。
这个方法用于用后台进程执行占用大量CPU的工作,你的for代码段应该写在里面。
我没用过这个,粗略看了一下资料,实际情况与他的实例不太一样,Dim a As Task(of Boolean)=Await Doo(),直接提示错误,正确用法是去掉await。
解决以上两个问题,测试运行通过。(一个文本框滚数字,另一个打字无压力)
其实你的要求,不需要这么高级。多线程应该可以。
全部回答
  • 1楼网友:愁杀梦里人
  • 2021-03-07 06:52
un需要一个action方法。
这个方法用于用后台进程执行占用大量CPU的工作,你的for代码段应该写在里面。
我没用过这个,粗略看了一下资料,实际情况与他的实例不太一样,Dim a As Task(of Boolean)=Await Doo(),直接提示错误,正确用法是去掉await。
解决以上两个问题,测试运行通过。(一个文本框滚数字,另一个打字无压力)
其实你的要求,不需要这么高级。多线程应该可以。
  • 2楼网友:西岸风
  • 2021-03-07 06:03
un需要一个action方法。
这个方法用于用后台进程执行占用大量CPU的工作,你的for代码段应该写在里面。
我没用过这个,粗略看了一下资料,实际情况与他的实例不太一样,Dim a As Task(of Boolean)=Await Doo(),直接提示错误,正确用法是去掉await。
解决以上两个问题,测试运行通过。(一个文本框滚数字,另一个打字无压力)
其实你的要求,不需要这么高级。多线程应该可以。
  • 3楼网友:笑迎怀羞
  • 2021-03-07 05:55
run需要一个action方法。
这个方法用于用后台进程执行占用大量CPU的工作,你的for代码段应该写在里面。
我没用过这个,粗略看了一下资料,实际情况与他的实例不太一样,Dim a As Task(of Boolean)=Await Doo(),直接提示错误,正确用法是去掉await。
解决以上两个问题,测试运行通过。(一个文本框滚数字,另一个打字无压力)
其实你的要求,不需要这么高级。多线程应该可以。追问你好,我是想借用小例子搞明白Async和Await的实际用法。
我的代码是看MSDN的例子后自己敲的,可是它给的不是完整的例子不好理解。现在我没有完整的例子来实际理解这两个关键词所构成的功能的实际执行顺序和具体写法。说白了我大概能懂关键字表达的意思,但不会用,不知道该怎么写这个代码,不知道Async放哪里,Await放哪里,干什么用。
所以能不能麻烦您将运行通过的代码写出来,让我能仔细学习一下。追答await应该放在async修饰的function或sub里面,他有提示的。

Async Function Doo() As Threading.Tasks.Task(Of Boolean)
Await Threading.Tasks.Task.Run(New Action(Sub()
For i As Integer = 0 To 1000000
Dim a = Sub(arg As TextBox, ii As Integer)
arg.Text = ii
End Sub
Me.Invoke(a, TextBox1, i)
Next
End Sub))
Return True
End Function
你删除await或async试试,他都会报错,错误提示应该有助于你理解。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯