首页新闻找找看学习计划

【江湖救急】await xxAsync()比较乱,求高手通俗易懂的见解

0
悬赏园豆:5 [已关闭问题] 关闭于 2017-07-05 12:59

我对这个MVC里面, await xxasync()的想法比较混乱了。

求朋友们下面2个问题 分别给一些 自己的独特深层次见解。

问题1:

比如有这个场景: 方法A里面 分别异步开3个线程去执行耗时的查询,然后 Thread.waitAll之后统一返回3个结果给浏览器。

代码:

 ManualResetEvent handlerCancelTagUsedBulk = new ManualResetEvent(false);
                    _threadWaits.Add(handlerCancelTagUsedBulk);
                    Task.Run(() =>
                    { 
                        _tagUsedRepository.CancelTagUsedBulk(userid, caseid, true);
                        _tagUsedRepository.SaveChanges();
                        handlerCancelTagUsedBulk.Set();
                    });

                    ManualResetEvent CancelFavouriteBulk = new ManualResetEvent(false);
                    _threadWaits.Add(CancelFavouriteBulk);
                    Task.Run(() =>
                    { 
                        _myFavouriteRepository.CancelFavouriteBulk(userid, caseid, true);
                        _myFavouriteRepository.SaveChanges();
                        CancelFavouriteBulk.Set();
                    });
                    //等待所有线程结束
                    if (_threadWaits.Count > 0)
                    {
                        WaitHandle.WaitAll(_threadWaits.ToArray());
                        return true;
                    }
                    else
                        return false;
View Code

 

await xxAsync()或者xxAsync()异步用法可以代替上面 写法吗?貌似一个是 CPU角度出发,一个是业务角度出发?

 

问题2:

 public async Task<ActionResult> Index(Guid pId)

{

}MVC的Action标明为异步,这个从CPU角度怎么解释?

王庆东mas的主页 王庆东mas | 初学一级 | 园豆:4
提问于:2017-07-03 18:32
< >
分享
所有回答(2)
0

Mark~

极致啊 | 园豆:216 (菜鸟二级) | 2017-07-03 22:15
-1

CPU角度一样。程序角度就内外层的不同

慧☆星 | 园豆:5384 (大侠五级) | 2017-07-04 09:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册