个人资料

跳过导航链接首页 > 博客列表 > 博客正文

C# 自定义一个可等待的Task方法

分类:

代码如下


public async Task<string> LongTimeTask() {

            //从线程池获取一个线程 异步计算
            var x =await Task.Run(async ()=> {
                // 使用do while + delay 模拟耗时工作
                // 具体问题的时候 循环 和 Task.Delay可以去掉

                //int count = 0;
                //int mili_sec = 100;
                //int time_limit = 3000;//miliseconds
                //do
                //{
                //    Debug.WriteLine(count);
                //    count += mili_sec;
                //    await Task.Delay(mili_sec);
                //} while (count< time_limit);

                return "finished";
            });
            return x;
        }
Task类将开辟新线程简化,自动管理线程池.


研究者了一下 关于await的博客Dixin's Blog - Understanding C# async / await (2) The Awaitable-Awaiter Pattern (asp.net)

写得很好 但感觉偏向于理论 有点脱离了需求 感觉使用Task的自带功能就已经能够用.

songshizhao
最初发表2022/4/16 12:38:11 最近更新2022/4/16 12:39:45 1382
为此篇作品打分
10
   评论