2011-02-27 2 views
0

익명 파이프 (Windows의 경우 linux에서는 파이프 시스템 호출, Windows에서는 _pipe()를 사용)를 작성했습니다. 내가 알고 싶었다 1.이 파이프의 읽기 및 쓰기가 통화를 차단하고 있는지 여부 (즉, 파이프가 가득차면 쓰기가 차단됨)? 2. 익명 파이프에서 데이터를 덮어 쓸 가능성이 있습니까? 그렇다면 더 나은 대안인가?익명 파이프에 대한 읽기 및 쓰기 차단

감사합니다, 마노

답변

1
  1. 예 - 파이프 블록 때 전체, 즉 거의 메모리의 많은 현대 시스템에서 발생하지 않는다.

  2. 심각한 버그입니다.

+0

오래된 스레드 인 것을 알고 있지만 여기에 방금 배운 방법이 있습니다. 쓰기 끝이 예기치 않게 닫히면 읽기 끝이 더 이상 차단되지 않습니다. 이제 알았지 만, 이해하기 전에 차단 메커니즘이 실패한 것처럼 보였습니다. – kmort