2012-06-20 2 views
1

다른 프로세스에서 나에게 보낸 개체를 내 디스크의 여러 파일에 작성해야합니다. 각 개체에는 fileID (쓸 파일 이름) 및 데이터 청크가 있습니다.파일 스트림 순서를 유지하면서 여러 개의 파일을 동일한 io 완료 포트에 연결합니다. C#

동시 비동기 I/O를 사용하여 파일 쓰기를 최적화하기 위해 IO 완료 포트 (IOCP)를 사용하고 싶습니다.하지만 각 파일을 동기식으로 작성해야합니다. 파일 단위의 순서는 아니지만 디스크 단위로 기록 할 때 파일 단위의 청크 순서를 유지해야합니다.

나는 그 IO 작업을 할 때마다 .Net IOCP를 사용하여 이해하지만 어떻게 내가 원하는대로 작동하게합니까?

답변

0

이것은 쉽게 수행 할 수 있습니다. 각 파일의 쓰기 위치를 추적하고 각 청크를 쓸 때마다 파일을 업데이트하면됩니다. OVERLAPPED 구조에서 쓰기 오프셋을 비동기 쓰기로 지정하고 각 파일의 위치를 ​​추적하면 청크를 쓰고 파일 쓰기 오프셋을 업데이트 할 수 있어야합니다.

관련 문제