【问题标题】:File checkin and checkout in JavaJava中的文件签入和签出
【发布时间】:2017-08-05 23:27:30
【问题描述】:

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

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

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

【问题讨论】:

    标签: java file locking checkin vcs-checkout


    【解决方案1】:

    我认为您想要实现的是信号量/互斥量。 Java 已经有信号量,见这里:https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html

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

    【讨论】:

      【解决方案2】:

      如果您想使用纯 Java 解决方案,您可能应该查看Concurrency

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

      可能是JGitSVNKitjCVS

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-27
        • 1970-01-01
        相关资源
        最近更新 更多