파일 동시 접근에 대한 질문입니다~
글쓴이: goomba / 작성시간: 월, 2012/11/12 - 5:53오후
안녕하세요. 초보 프로그래머입니다.
지금 2개의 프로세스가 1개의 파일에 접근하는 프로그램을 구현중인데요,
A프로세스에서는 백그라운드로 무한루프를 돌면서 A파일에 접근하여 파일내의 내용을 읽어오는 작업만 합니다.
B프로세스는 제가 필요할때마다 프로세스를 구동시키고 구동시 A파일의 내용을 변경합니다.
이 경우 A프로세스와 B프로세스가 동시에 접근하여 read / write를 할 경우가 궁금한데
이럴경우 문제가 있을까요?
그리고 문제가 있을시 예외처리를 어떤방식으로 해줘야하나요?
고수분들의 답변 기다리겠습니다~~
Forums:
A는 읽기만 하고 B는 쓰기만 한다면 별 문제는
A는 읽기만 하고 B는 쓰기만 한다면 별 문제는 없겠지만
B가 쓰기 직전과 쓴 직후 중 어느 것을 읽느냐에 따라 A의 실행결과에 치명적인 영향을 준다면, A가 읽는 중에는 A가 읽는 블럭엔 쓰기를 막아야 하고, B가 쓰는 중에는 B가 쓰는 블럭에 읽기를 막아야겠네요.
피할 수 있을때 즐겨라! http://melotopia.net/b
read/write lock 에 대해 알아보세요
http://linux.die.net/man/3/pthread_rwlock_rdlock
이 동기화 방법은 읽기에 대해서는 경쟁 조건 설정이 되지 않고
쓰기에만 경쟁 하도록 하던 걸로 기억합니다.
저도 써본 적은 없어요... 이런 경우 딱 좋겠다는 것 정도
생각만 하고 있습니다.
Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.
댓글 달기