Java에서 단일 인스턴스 애플리케이션 구현
실행 시 단일 인스턴스만 생성하는 MSN 및 Windows Media Player와 같은 특정 애플리케이션과 달리 실행하는 동안 Java 애플리케이션은 여러 인스턴스를 생성할 수 있습니다. 이 기사에서는 아래 설명된 검증된 방법을 사용하여 단일 인스턴스 Java 애플리케이션을 생성하는 방법을 살펴보겠습니다.
Java 접근 방식
Mutex 클래스가 이를 처리하는 C#과 달리 기능적으로 Java는 다음과 같은 독특한 접근 방식을 사용합니다.
private static boolean lockInstance(final String lockFile) { try { final File file = new File(lockFile); final RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw"); final FileLock fileLock = randomAccessFile.getChannel().tryLock(); if (fileLock != null) { Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { try { fileLock.release(); randomAccessFile.close(); file.delete(); } catch (Exception e) { log.error("Unable to remove lock file: " + lockFile, e); } } }); return true; } } catch (Exception e) { log.error("Unable to create and/or lock file: " + lockFile, e); } return false; }
위 내용은 한 번에 하나의 Java 애플리케이션 인스턴스만 실행되도록 하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!