模拟网格。只接收指定类型的任务

SimGrid. Receive only specified type of task

这是Host接收特定类型任务的方法:

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

但是有没有办法像sometask = Sometask.receive(String mailbox)那样直接sometask接收呢?

过滤您想接收的任务在 Java 中的开发不如在 C 版本的 MSG 中开发的那样(还)。

使用另外一个邮箱,不要把任务混在一起,这样可以避免事后整理起来的困难。

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