message5.java

来自「source code about voyager examples of me」· Java 代码 · 共 60 行

JAVA
60
字号
// (c) Copyright 1997-2001 Recursion Software Inc.



package examples.message;

import com.recursionsw.ve.*;
import com.recursionsw.ve.message.*;

public class Message5
  {
  public static void main( String args[] )
    {
    try
      {
      Voyager.startup();
      IAlarm alarm = (IAlarm) Factory.create( "examples.message.Alarm", "//localhost:8000" );
      System.out.println( "about to send delay( 5000 )" );
      Result result = Future.invoke( alarm, "delay", new Object[] { new Integer( 5000 ) } );

      // simulate two different application threads blocking on the same future invocation
      Thread thread1 = new ReaderThread( result );
      thread1.start();
      Thread thread2 = new ReaderThread( result );
      thread2.start();
      thread1.join();
      thread2.join();
      }
    catch( Exception exception )
      {
      System.err.println( exception );
      }

    Voyager.shutdown();
    }
  }

class ReaderThread extends Thread
  {
  Result result;

  ReaderThread( Result result )
    {
    this.result = result;
    }

  public void run()
    {
    try
      {
      System.out.println( "waiting..." );
      int value = result.readInt();
      System.out.println( "reader thread gets " + value );
      }
    catch( Exception exception )
      {
      System.err.println( exception );
      }
    }
  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?