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 に答える