>假设我有一个文件夹,我一次只想让我的应用程序的一个实例处理它。我只能通过文件系统本身进行同步。通常,这是通过类似.lock_file
的东西完成的,如果存在,我知道另一个实例当前正在使用它。有没有处理这种事情的标准库?
如果您使用的是 C/C++,请参阅 fclnt 或 flock:使用 c/c++ 锁定 Linux 中的文件
如果您使用的是 java,请参阅文件通道锁定方法和如何使用 java 锁定文件(如果可能(
您还可以检查.lock_file
是否存在打开它 open(pathname, O_CREAT | O_EXCL, 0644)
,请参见打开手册页,它会创建并打开文件,如果存在路径名,则返回 EEXIST。
在 java 中,调用 File 方法 createNewFile(( 可用于原子方式创建.lock_file