Mon programme est un client connecté à plusieurs serveurs. Je sauve des objets de connexion à tous les serveurs dans un objet carte statique:Synchronisé dans un thread Java
server1 -> Connection1
serveur2 -> Connection2
serverN -> connectionN
public class CacheConnection {
private final static Map cacheConnection = new HashMap();
public static void add(String serverName, Socket sock) {
synchronized (cacheConnection) {
cacheConnection.put(serverName, sock);
}
}
public static Socket get(String serverName) {
return (Socket) cacheConnection.get(serverName);
}
..
}
J'ai beaucoup de threads obtenir des connexions de cette carte pour communiquer avec les serveurs. Comment puis-je m'assurer qu'une connexion ne peut être utilisée que par un thread à la fois? Par exemple, je veux être sûr que le fil 1 et le fil 2 ne peuvent utiliser la connexion 1 en même temps. Par exemple, je veux être sûr que le fil 1 et le fil 2 ne peuvent pas utiliser la connexion 1 en même temps.
Qu'est-ce qu'un serveur multiple? – SLaks
mon programme se connecter à plusieurs serveurs – QuanNH
Vous utilisez serversocket pour le serveur? – SjB