这是通过Host接收某些任务类型的方法:

task = Task.receive(String mailbox);
    if (task instanceof SomeTask):
        SomeTask sometesk = (SomeTask) task;
        // Do something


但是有什么办法可以像sometask那样直接接收sometask = Sometask.receive(String mailbox)吗?

最佳答案

在Java中,要过滤要接收的任务还不如在MSG的C版本中进行开发。

使用其他邮箱不要混合任务,这样可以避免以后将它们整理出来的困难。

SimGrid示例中没有简单的示例,但是有几个应用程序使用此功能。例如,bittorrent示例(显然不简单)使用一个邮箱进行与当前主机的常规通信,而使用另一个邮箱接收来自跟踪器的消息。这样,当您期望来自跟踪器的消息时,您将无法从随机对等方获得消息。

09-04 06:12