WriteAsync()和WriteLineAsync()c#

时间:2012-11-25 07:06:33

标签: c# asynchronous async-await

我有一个方法需要在文本文件中写入结果。我在c#5中使用Async / Await来编写文本文件asynch,但我认为程序运行同步。它对性能有任何影响吗? WriteLineAsync()的正确格式是什么?

public static void Do()
{
    for(int i=1;i<1000;i++)
    {
         //Here I want to do something
         Write1();
         Write2();
    }
}  


private static async void Write1()
{
    using (StreamWriter str = new StreamWriter(Environment.CurrentDirectory + @"\R.txt"))
    {
        await str.WriteLineAsync(string.Format("{0}",Public.FullTime.Elapsed));
    }
}

private static async void write2()
{
    using (StreamWriter PStr = new StreamWriter(Environment.CurrentDirectory + @"\p.txt"))
    {
        await PStr.WriteAsync(StrBuilder.ToString());
    }
}

1 个答案:

答案 0 :(得分:1)

写入不是同步的,但是你正在等待它完成,所以你实际上没有从异步中获得任何东西。

如果您不想等待通话结束,可以创建新的Task并启动它。这将在不同的线程上执行写作。