강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

염정원님의 프로필 이미지
염정원

작성한 질문수

리눅스 IPC 프로그래밍 - 이론과 실습

File Lock API - 정리 table에서 multi-thread 사용가능시....

작성

·

396

1

교재내용 File Lock API - 정리 table(P15)에서  multi-thread 사용가능시 fcntl()과 flockfile()에서의 의미를 다르게 설명해놓으셨는데요. 두개의 구분이 잘안됩니다. 부언 부탁드립니다.

답변 1

0

런잇(ProgCoach4U)님의 프로필 이미지
런잇(ProgCoach4U)
지식공유자

flockfile()은 libc에 구현이되어 있는 기능입니다. 이 말은 flockfile()을 이용해 특정 파일에 대한 동기화를 수행하는 것을 프로세스 자신만 알 수 있다는 것이고, 또 프로세스 자신 안에서만 동작을 한다는 것입니다. 다른 프로세스와의 동기화는 불가능하다는 말 입니다.

반대로 fcntl()은 특정 파일에 대한 동기화 수행 여부를 OS layer에서 알고 있어 다른 프로세스와 동기화 수행이 가능합니다. 물론 한 프로세스 내의 여러 쓰레드 간에도 동기화 수행이 가능합니다.

잘 이해가 되지 않으시는 부분 있으시면 추가 질문 남겨주세요~ 감사합니다~!

염정원님의 프로필 이미지
염정원

작성한 질문수

질문하기