나는 등의 epoll, 설문 조사를 사용하여 비 차단 서버와 클라이언트 응용 프로그램을 작성하는 학습이 이벤트 플래그를 건너 왔어요 해요 :I/O 멀티플렉싱에서 쓰기가 어떻게 차단됩니까?
POLLOUT : 쓰기 지금 차단하지 않습니다.
블로킹 읽기의 개념을 이해합니다. 하지만 블로킹을 차단하는 것은 무엇입니까?
나는 등의 epoll, 설문 조사를 사용하여 비 차단 서버와 클라이언트 응용 프로그램을 작성하는 학습이 이벤트 플래그를 건너 왔어요 해요 :I/O 멀티플렉싱에서 쓰기가 어떻게 차단됩니까?
POLLOUT : 쓰기 지금 차단하지 않습니다.
블로킹 읽기의 개념을 이해합니다. 하지만 블로킹을 차단하는 것은 무엇입니까?
모든 I/O 작업에서 하드 디스크 (또는 다른 저속 I/O 장치)와 후면으로의 이동 가능성이 있습니다. "차단"통화는 왕복 I/O가 수행되는 동안 기다리는 것입니다. 그래서, 마치 독서가 끝날 때까지 기다릴 수있는 것처럼, 글쓰기를 기다릴 수 있습니다.
일반적으로 기존 응용 프로그램에는 유용하지 않습니다. OS에 데이터를 쓰라고 말하면 더 이상 문제가 아닙니다. 관계형 데이터베이스 시스템과 같이 I/O 장치 (예 : 하드 디스크)에 저장된 데이터 무결성을 보장하려고 할 때 문제가됩니다. 그러나 블로킹은 쓰기가 완료되었음을 보장 할 수있는 유일한 방법이 아니며 컴퓨터의 복잡성이 증가함에 따라 실제 블로킹을 방해 할 수도 있고하지 않을 수도있는 여러 계층의 캐싱이 있음에 유의하십시오.
파이프, 소켓 또는 터미널과 같은 장치에 다른 쪽보다 빠른 속도로 쓰는 경우 관련 커널 버퍼를 채우고 이후 데이터가 다른 쪽.
디스크 파일은 유닉스 용어로는 블록하지 않으며 * "빠름"으로 간주됩니다. 즉 프로세스가 디스크가 대기 상태가 아닌 디스크 대기 상태가됩니다. 'epoll()'은 항상 디스크 파일에 대해'POLLOUT' (그리고'POLLIN')을보고합니다. – caf