exclusion mutuelle problème de référence
Bonjour,
je suis en train de faire une communication entre serveur. Mon serveur a un thread de reception voici ce que je voudrai faire : J'ai un index commun pour mes threads, c'est ma ressource critique.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
private vector <socket> vSocket;
private vector <timer> vTimer;
private int index;
public void run() {
/* retourne des référence pour un socket et un timer et autre
selon mon indexe. Tout cela dans un dans une seule méthode synchronized
car l'index lie entre eux vSocket.get(index) et vTimer.get(index), comment
faire??? */
try {
while(!finished) {
DatagramPacket pack =
new DatagramPacket(socket.getData(), socket.getData().length);
// Receive datagram
if(socket.getSocket() != null) {
socket.getSocket().receive(pack);
String recept = new String (pack.getData(), pack.getOffset(), pack.getLength(), "ISO-8859-1");
System.out.println(recept);
// ... test de comparaison sur la reception
}
}
}
catch (SocketException e) {
System.err.println("Fermeture inattendue sur une socket");
}
catch (IOException e) {
e.printStackTrace();
}
} |