Es gibt nur eine Instanz der Klasse Migrate im gesamten Agentensystem. Alle MobileAgents und der AgentManager besitzen somit eine Referenz desselben Objekts.
Java setzt das Konzept des Monitors zur Synchronisation von Threads ein. Der exklusiven Zugriff auf eine Klasse wird durch Methoden geregelt, die mit dem zusätzliche Schlüsselwort ' synchronized' gekennzeichnet sind.
Alle Methoden der Klasse Migrate sind als 'synchronized' deklariert. Ruft ein Thread eine Methode der Klasse Migrate auf, so wird der Zugriff auf die Klasse für alle anderen Threads gesperrt.
AgentManager und MobileAgents müssen die Möglichkeit haben, sich gegenseitig zu benachrichtigen, daß die Nachricht gelesen bzw. geschrieben wurde. Das geschieht in Java mit den Methoden wait() und notify() der Klasse java.lang.Object.