다음 요구 사항에 따라 C/C++ 코드에서 파일에 액세스할 때 파일 잠금을 수행해야 합니다.
- 서로 다른 프로세스뿐만 아니라 동일한 프로세스의 서로 다른 스레드에서도 접근이 발생할 경우 차단해야 함
- Linux 및 Solaris 운영 체제에서 작동해야 합니다.
내가 찾은포캉트르(열린 파일 설명 잠금(POSIX 아님)) 및그룹, 첫 번째 요구 사항을 충족합니다. 불행하게도 이러한 API는 Solaris에 없습니다.
내 임무를 완수하는 가장 좋은 방법은 무엇입니까? 파일에 동시 쓰기를 방지하는 기능을 사용하고 싶습니다. 스레드를 동기화하는 데 뮤텍스를 사용하지 말고 프로세스를 동기화하는 데 fcntl(예:)을 사용하지 마세요.