📄 mailboxtry20.java
字号:
import SOMA.agent.*;
import java.util.*;
public class MailboxTry20 extends Agent {
private byte numMessage = 0;
public void run() {
SOMA.Environment env = agentSystem.getEnvironment();
// set the shared object for MailboxTry21 agents
Vector children = env.domainNameService.getChildrenDNS();
agentSystem.sharedObjects.put(0, children.get(0));
agentSystem.sharedObjects.put(1, children.get(1));
agentSystem.sharedObjects.put(2, children.get(2));
Vector data = new Vector();
data.add(agentSystem.getPlaceID());
data.add(getID()); // the base MailboxTry20 agent ID
data.add(new Integer(0));
AgentWorker firstLurker = env.agentManager.createAgent("MailboxTry21", data, false, true);
data = new Vector();
data.add(agentSystem.getPlaceID());
data.add(getID()); // the base MailboxTry20 agent ID
data.add(new Integer(1));
AgentWorker secondLurker = env.agentManager.createAgent("MailboxTry21", data, false, true);
data = new Vector();
data.add(agentSystem.getPlaceID());
data.add(getID()); // the base MailboxTry20 agent ID
data.add(new Integer(2));
AgentWorker thirdLurker = env.agentManager.createAgent("MailboxTry21", data, false, true);
try {
firstLurker.start();
secondLurker.start();
thirdLurker.start();
} catch (AgentWorker.AgentWorkerException awe) {
awe.printStackTrace();
}
// if the agent is not traceable, there is no mailbox
if (mailbox != null)
mailbox.mailListener = new Mailbox.MailListener() {
public void run() {
Message mex = mailbox.getMessage();
agentSystem.getOut().println("Message received by " + mex.from);
if (mex.message.toString().equals("lurker_agent_done"))
numMessage++;
agentSystem.getOut().println("" + numMessage + " message(s) arrived");
}
};
idle("printSharedObjects");
}
public void printSharedObjects() {
for (int index = agentSystem.sharedObjects.size() - 1; index >= 0; index--)
agentSystem.getOut().println(agentSystem.sharedObjects.get(index).toString());
}
} // end MailboxTry20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -