Java中的文件签入和签出

时间:2017-03-15 09:47:59

标签: java file locking checkin vcs-checkout

我遇到了一个有趣的要求,我们必须使用Java实现签入/签出功能。 要求是当用户2打开用于写入/更新的文件时,如果另一个用户1也在同一文件中进行更改,则将限制他。如果不是,则user2能够锁定文件以供其他用户编辑。他进行了更改并将文件提交给其他用户进行更新。

您是否遇到过类似的要求?如果是,请告诉我们如何解决此问题。

我可以考虑文件锁定和解锁功能,但是我不太确定如何实现它。

2 个答案:

答案 0 :(得分:0)

我认为你想要实现的是Semaphores / Mutexs。 Java已经有Semaphores,请看这里:https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html

对你来说可能有点矫枉过正,但你可以使用同步修改器编写自己的互斥锁。

答案 1 :(得分:0)

如果您想使用普通的Java解决方案,您应该查看Concurrency

也可能有开源库,您可以使用它来完成工作,而不是从头开始实现自己的工作。

可能JGitSVNKitjCVS