내 프로그램이 네트워크 소켓에서 한 줄을 읽고이를 디스크에 씁니다. 라인이 길고 문자열이 끔찍한 성능을 가지기 때문에 나는 느린 바이트 문자열을 사용하기 시작했다.지연된 IO에 대한 강제 평가
- 열려있는 파일을
hPut
- 가까운 파일을 파일에
- 쓰기 바이트 문자열을 쓰기 위해 : 지금은 하스켈 실제로 디스크에 전체 바이트 문자열을 세척, 그렇게하지 않고 디스크 파일 핸들에
hClose
지나 갈 것으로 보인다
를 읽기위한
openFile: resource busy (file is locked)
발생합니다. 평가를 시행하고 파일을 닫기 전에 전체 바이트 문자열이 기록 될 때까지 기다릴 수 있습니까? 그렇다면 파일이 실제로 해당 작업 후에 닫혔다는 것을 확신 할 수 있습니까?
당신은 ['hFlush'] (http://hackage.haskell.org/packages/archive/base/latest/doc/html/System-IO.html#v:hFlush) 봤어? – huon
플러시는'hClose'와 마찬가지로 도움이되지 않습니다. GHC는 기다리지 않고 통과합니다. –