0
我最近安装了VS2012,我正在阅读新的异步修改器以及如何将其用于异步编程。我可以使用此代码的新异步/等待方法
现在,我很容易使用像System.IO或Web服务调用中的内置框架函数,但我试图使用我自己的函数。我做了一个小的控制台应用程序,基本上异步任务是一个随机数,它将在循环中生成,直到它等于0,并且我想在平均时间内显示加载消息。下面是我做的代码:
private static void Main(string[] args)
{
var rnd = new Random();
var factory = new TaskFactory();
var task = GetRandomNumber(rnd);
while(!task.IsCompleted){
System.Console.Write("Loading .");
System.Console.Write(".");
System.Console.Write("./n");
}
}
private static async Task GetRandomNumber(Random rnd)
{
await new Task(delegate
{
while (rnd.Next() != 0)
{
}
});
}
很明显,我几乎失去了怎么办,在这里我只是不停地编码它就像如果我是多,是有可能实现与异步此行为/等待模式?怎么样?
我想这是一个学习的榜样 - 你可以给你想掌握该图案的更高度概括? –
尽管这个问题的答案很精美,但我想在你的代码中指出问题 - 你创建了一个新的Task..',但从来没有启动过它。如果您在下面的答案中使用Task.Factory.StartNew或Task.Run,那么您不必明确地启动它。 – YK1