안녕하세요.
간단한 파일 입출력을 할때 궁금한 점이 있어서여..
만약 한 파일에 대해 open을 하고 write나 read를 할때
다른 사용자도 같이 write나 read를 할 경우 문제가 되는 점이 있나여..
동시에 write나 read를 한다 해도 커널이 알아서 먼저 온 프로세스를 실행시키고
다른 프로세스는 대기 시키지 않나 해서여.. 이게 동기화문제져?
만약 문제가 있다면 어떻게 처리를 해주어야 하는지여??
질문을 하고보니 먼 말인지 ..... 그럼 미리 감사합니다..... 수고하세요..^^
여러 프로세스가 같은 파일에 동시에 쓰면 내용이 섞일 수 있어 동기화가 필요합니다. 커널이 알아서 순서를 정하지 않으니 flock() 이나 fcntl() 의 파일 잠금(file locking)을 사용해 한 번에 하나씩 쓰도록 하세요.
읽기만 하는 경우는 대개 문제가 없습니다.