我有一个由两个过程组成的小型应用程序。
进程A下载文件。进程B使用下载的文件。
进程A下载文件时,将获得文件锁定。进程B继续检查正在下载的文件是否已锁定。
下载完成后,进程A释放文件锁,下载的文件可供进程B使用。
在进程B中,我有一个专用线程来检查锁是否已释放。
我想避免连续文件锁定检查的循环。是否有类似于select
或poll
系统调用的方法,进程B使用该方法来通知文件锁已释放?
我已经浏览了fcntl,flock的手册页,但是我没有找到一种方法。
答案 0 :(得分:0)
可以使用IPC实现: Inter-process communication 下载完成后,进程A告诉B它已完成。
或者您可以使用网络连接来通知B,但我不建议这样做。