masterprocess.java

来自「terracotta 开源jvm集群实现」· Java 代码 · 共 46 行

JAVA
46
字号
/*
 * 
 */
package org.terracotta.maven.plugins.tc.test;


public class MasterProcess {
  
  private final String nodeName;
  private final int totalNodes;
  
  
  public MasterProcess(String nodeName, int totalNodes) {
    this.nodeName = nodeName;
    this.totalNodes = totalNodes;
  }

  public static void main(String[] args) throws Exception {
    MasterProcess node = new MasterProcess(System.getProperty("tc.nodeName"), SampleUtils.getTotalNodes());
    node.process();
  }

  private void process() throws Exception {
    System.err.println("Number of nodes: " + totalNodes);

    synchronized(SampleProcess.nodes) {
      SampleProcess.nodes.add(this);
      
      while(SampleProcess.nodes.size()<totalNodes) {
        try {
          SampleProcess.nodes.wait(100L);
        } catch (Exception e) {
          // ignore
        }
      }
      
      System.err.println("Nodes: " + SampleProcess.nodes);
    }
  }

  public String toString() {
    return nodeName;
  }
  
}

⌨️ 快捷键说明

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