我需要在Java中实现某种进程间互斥。我正在考虑按照thread中的建议使用FileLock API。我基本上会使用一个虚拟文件并在每个进程中锁定它。
这是最好的方法吗?或者是这样的内置标准API(我找不到它)。
有关详细信息,请参阅以下内容:
我编写了一个应用程序,它读取一些输入文件并根据它们在其中找到的内容更新一些数据库表(它更复杂,但业务逻辑在这里无关紧要。)
我需要确保多个数据库更新之间的互斥。我试图用LOCK TABLE实现这个,但是我使用的引擎不支持这个。所以,我想在应用程序代码中实现锁定支持。
答案 0 :(得分:2)
答案 1 :(得分:0)
如果您手上有数据库,为什么还要使用文件呢?尝试使用像这样的数据库锁定(https://dev.mysql.com/doc/refman/5.0/en/innodb-locking-reads.html)。
顺便问一下,你使用什么数据库引擎?如果你列出它可能会有所帮助。