gpt4 book ai didi

java - 即使在 2 个不同的 JVM 中,我们如何确保任何应用程序只有一个实例在运行

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:23:16 24 4
gpt4 key购买 nike

我在面试时被问到这个问题。假设 VLC 播放器在那里并在我们的操作系统上运行。现在,当我们再次尝试启动 VLC 时,应该不会发生这种情况。

或者,假设我们有两个命令窗口,我们在两个不同的窗口中运行相同的 java 程序。我们如何确保只运行一次。

这是操作系统依赖的东西吗?什么是实现?

我读了一些关于 MUTEX/Semaphore 的内容,但我猜那只在一个 JVM 中。

最佳答案

您可以将 pid 文件写入磁盘的已知位置,表明应用程序已经在运行。然后,在启动时,查找该文件。如果它在那里,应用程序已经在运行,所以退出。

留给读者作为练习:确保即使在应用程序崩溃时也删除了 pid 文件。

关于java - 即使在 2 个不同的 JVM 中,我们如何确保任何应用程序只有一个实例在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25826765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com