1
결과를 텍스트 파일로 작성해야하는 메서드가 있습니다. 나는 텍스트 파일 asynch를 작성하기 위해 C# 5에서 Async/Await을 사용하지만 프로그램이 동기화를 실행한다고 생각합니다. 성능에 어떤 영향을 미칩니 까? WriteLineAsync()의 올바른 형식은 무엇입니까?WriteAsync() 및 WriteLineAsync() C#
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());
}
}
** 당신이 _ 대기 중이지만 당신은 _blocking_이 아니기 때문에 ** 잠재적으로 무언가를 얻습니다. 이러한 메소드가 동시에 호출되는 경우에는 큰 차이가 있습니다. UI 스레드에서이 작업을 수행하면 스트림의 버퍼를 채울 때 UI가 멈추는 것을 막을 수 있습니다 . –
Task.Wait()을 사용해야하는 것으로 나타났습니다. 그렇지 않으면 일부 데이터가 누락 될 수 있습니다. 차이점이 없으므로 스트림 작성자가 자신의 일을 할 때까지 기다려야한다고 생각하기 때문에 해결책을주십시오. async/await의 사용법은 무엇입니까? – mohammad
프로세스가 종료되어 데이터가 누락 되었습니까? –