我有一个方法需要在文本文件中写入结果。我在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());
}
}
答案 0 :(得分:1)
写入不是同步的,但是你正在等待它完成,所以你实际上没有从异步中获得任何东西。
如果您不想等待通话结束,可以创建新的Task
并启动它。这将在不同的线程上执行写作。