현재 파일에 내용을 작성해야하는 C# 프로젝트에서 작업 중입니다. 파일이 쓰여지는 동안 별도의 스레드가 파일에 액세스하여 파일 크기를 얻으므로 가끔 파일을 쓰는 중일 때 파일 크기 검사에 파일이 잠기면 잠겨집니다.잠기지 않기 위해 파일에 쓰기 전에 버퍼에 쓰기
내가 생각한 것은 일종의 버퍼를 만드는 것이지만 Google에 맡길 때마다 로컬 스트림으로 적합하지 않은 네트워크 스트림이 다시 발생합니다. 그 계획이 파일에 직접 쓰는 쓰레드 대신에 어떤 종류의 버퍼에 쓰고, 별도의 쓰레드가 그 파일이 쓰기 가능한지 검사 한 다음 버퍼를 읽고 그 내용을 파일에 씁니다.
다른 문제는 매개 변수를 추가해야 파일에 쓸 때 내 프로그램이 여러 위치에서 입력을 수신 할 때 올바른 파일에 쓰게되므로이 값을 버퍼의 어딘가에 유지해야하지만 내가 본 스트림에서 오직 문자열 만 쓸 수 있습니다.
기본적인 질문은 어떻게하면 버퍼에 쓸 수 있고 버퍼에서 읽을 수 있으므로 파일에 쓸 수 있고 버퍼에 매개 변수를 유지하여 파일에 쓸 때 파일 에 쓸 수 있습니다.
도움을 주셔서 감사합니다.
아마도 버퍼 대신 [잠금] (http://msdn.microsoft.com/en-us/library/c5kehkcz.aspx)이 필요합니다. –
그리고 하나의 버퍼를 갖는 대신 출력 파일 당 하나의 버퍼를가집니다. –