1

我有一个需要将结果写入文本文件的方法。我在 c# 5 中使用 Async/Await 来编写文本文件异步,但我认为程序运行同步。它对性能有什么影响吗?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());
    }
}
4

1 回答 1

-1

写入不是同步的,但您正在等待它完成,因此您实际上从异步中没有任何收获。

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

于 2012-11-25T07:15:51.843 回答