Bonjour tout le monde.
Ayant eu envie d'apprendre l'utilisation des Actors en Scala, je suis tombé sur le problème suivant :
Tout d'abords je définit un classe d'actors dont le seul but pour l'instant est d'envoyer un message à un RemoteActors.
Ma fonction principale est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import scala.actors.Actor import scala.actors.Actor._ import scala.actors.remote.RemoteActor import scala.actors.remote.RemoteActor._ import scala.actors.remote.Node class Client() extends Actor { def act () { val serveur = select(Node("127.0.0.1",9090),'Serveur) serveur ! "ok" exit() } }
Le serveur distant reçoit bien les trois messages "ok", mais mon programme MainClient ne termine pas (alors que les trois Actors ont appelé exit()). Comment peut on dire « quand tous les actors ont terminé, termine la fonction » ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 import scala.actors.Actor import scala.actors.Actor._ object MainClient extends Application { val a1 = new Client() val a2 = new Client() val a3 = new Client() a1.start a2.start a3.start }
Merci d'avance
Partager