Maison >Java >javaDidacticiel >Comment garantir qu'une seule instance d'une application Java s'exécute à la fois ?
Réalisation d'applications à instance unique en Java
Contrairement à certaines applications comme MSN et Windows Media Player, qui ne créent qu'une seule instance lorsqu'elles sont exécutées lors de leur exécution, les applications Java peuvent générer plusieurs instances. Dans cet article, nous allons explorer comment créer des applications Java à instance unique à l'aide de la méthode éprouvée décrite ci-dessous.
Approche Java
Contrairement à C# où la classe Mutex gère cela fonctionnalité, Java utilise une approche distincte :
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; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!