Java和python进程可以独占锁定linux上的相同文件
发布时间:2020-05-24 03:11:17 所属栏目:Java 来源:互联网
导读:我有一个 java应用程序和一个python启动器. java应用程序使用此代码锁定文件以避免多次启动: java.nio.channels.FileLock lock = lockWrapper.getChannel().tryLock();if (lock == null) { logger.info(Anotheris already running);}lock.rel
|
我有一个 java应用程序和一个python启动器. java应用程序使用此代码锁定文件以避免多次启动: java.nio.channels.FileLock lock = lockWrapper.getChannel().tryLock();
if (lock == null) {
logger.info("Anotheris already running");
}
lock.release();
staticLock = lockWrapper.getChannel().lock();
python启动程序试图用fcntl锁定同一个文件,它可以.两个java进程不能这样做,并且两个python进程都不能独占锁定在同一个文件上.但是java和python可以在任何方向上. lockfile =open(lockfilename,'w+')
portalocker.lock(lockfile,portalocker.LOCK_EX| portalocker.LOCK_NB)
在win7上也可以正常工作. 解决方法我得到了同事的答案,这很简单. Java不使用POSIX锁,但是python可以.所以他们不能互操作……实际上他们可以,但只有当一个人可以强制两个运行时使用相同的锁定机制.但是这迫使你对它进行硬编码,使代码变得脆弱并且非常依赖于平台. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 为什么java / lang / System中的nullPrintStream()函数将cu
- 运行JMS使用者时的java.lang.NoClassDefFoundError
- java – 使用System.in中的缓冲读取器readline()时的最大字
- 如何在Java中键入π(pi)?
- java – 创建的类的新实例或仅分配内存中的空间?
- Java线程安全与非线程安全解析
- java实现一个简单TCPSocket聊天室功能分享
- Java 中jasperReport实现动态列打印的实现代码
- java – 设计模式丰富的代码库?
- swing – 为什么EventListenerList在fireFooXXX()中向后遍历
