async中await是干啥的,用不用有什么区别?
c#吧
全部回复
仅看楼主
level 12
最近在研究异步编程,用的async await task啥的,但是都这几个概念很模糊,还有不太清楚await是干啥的,task又是干啥的,用不用await有什么区别,他们三个之间的联系是什么?求大神指点一二,小弟先谢了~
2017年11月18日 16点11分 1
level 11
你搞不懂的原因是你跳过了thread,你先去学thread,用它来搞多线程试试,记得要用4.5以前的框架,等用了你就知道为啥要有task,为啥要有async await关键字
2017年11月19日 07点11分 2
level 1
底层就是thread,我感觉一般开发用thread就够用了
2017年11月19日 08点11分 3
level 6
写的这么飘逸都不知道干啥的...task<int>表示这是个异步线程 返回值是int await就是等待执行完拿到返回值 异步的 不会卡死 注释写假的吗?
2017年11月24日 16点11分 4
level 12
你可以msdn搜索 async await来看与喜爱。
其实async是告诉编译器,方法中可能存在异步。
await,就是等待异步执行结果。
task<>属于包装后的返回结果。
如果 需要void 那尽可能使用 async task来代替async void。
异步的用处,主要集中在不阻塞主线程,提高并发量。
2017年11月27日 09点11分 5
level 13
async是新线程了,不管结果如何都不会影响当前线程,代码会立即往下执行。。但有时候是需要等待结果的,await就是暂停,等待那边完了才继续。
2017年11月27日 11点11分 6
不会影响当前线程什么意思?不是异步方法必须等整个方法执行完了才能让别的方法调用么?
2017年12月27日 23点12分
level 7
async告诉编译器我有异步方法 如果这个方法中没有await关键字 程序将同步执行
await func()代表程序将等待异步方法返回结果
异步方法func需要自己去用thread实现
2017年11月28日 03点11分 8
也不能说等待 之前这个异步已经执行完了就可以直接拿到结果
2017年11月29日 10点11分
1