나는 여러 스레드에서 자주 호출되는 메서드가 있습니다. await FileIO.WriteTextAsync
을 사용하여 디스크에 쓰는 작업이 포함됩니다. 이 단일 스레드에서 호출 할 때 잘 작동하지만 내가 여러 스레드에서이 일을 시작하면,이 오류가 얻을 : 나는 오류가 무엇을 의미하는지 알고,하지만 난이 작동하는 방법을 잘 모르겠어요메트로 응용 FileIO.WriteTextAsync 여러 스레드
The process cannot access the file because it is being used by another process.
을 그것 주위. 일반적으로 한 번에 하나의 스레드에서만 파일에 액세스 할 수 있도록 lock(object)
문을 만듭니다. 그러나 이것은 비동기 메서드이므로 lock(object)
문 본문에 await
연산자를 사용할 수 없습니다.
이 시나리오를 처리하는 방법에 대해 조언 해주십시오.
그럼 왜 그렇게 큰 평판을 얻었는지 궁금하지 않습니다. 솔루션과 그것에 대한 개인적인 감동은 환상적이었습니다. 내 과정이 완벽하게 지금 실행 중입니다. 또한 비슷한 문제로 고통 받고있는 로깅 수업을 강화하기 위해 귀하의 제안을 사용했습니다. 고마워! – c0D3l0g1c
여러분을 환영합니다! –