`

java启用多进程调用某个类(是class文件)

阅读更多

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;


public class MultipleProcessorAccess {
  
  private static int processorCount = 5;//5
  
  public static void main(String[] args) {
    for (int i = 0; i < processorCount; i++) {
      ProcessBuilder pb = new ProcessBuilder("java",
          "PnSnapshotPerformanceTest");//d20130306.UseJConsole
      pb.directory(new File("C:/Users/yfan/Desktop/multipleTest"));
      BufferedInputStream in = null;
      BufferedReader br = null;
      try {
        Process p = pb.start();
        
        //returnCurrentProcessId();

        // if wait the stream from server, 
        // when one processor end can start next processor, 
        // not multiple processor
        /*in = new BufferedInputStream(p.getInputStream());
        br = new BufferedReader(new InputStreamReader(in));
        String s;
        while ((s = br.readLine()) != null) {
          System.out.println(s);
        }*/
      } catch (IOException e) {
        e.printStackTrace();
      } finally {
        if (br != null) {
          try {
            br.close();
          } catch (IOException e) {}
        }
        if (in != null) {
          try {
            in.close();
          } catch (IOException e) {}
        }
      }
    }
  }
  
  private static int returnCurrentProcessId() {
    RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
    String name = runtime.getName();
    int pid = Integer.parseInt(name.substring(0, name.indexOf("@")));
    System.out.println("current process id: " + pid);
    return pid;
  }
}


分享到:
评论

相关推荐

    JAVA面试题最全集

    一个“.java”原文件中是否可以包括多个类(不是内部类)? 53.掌握内部类和接口的概念 54.StringTokenizer类的使用 55.数据结构,如何遍历List中的元素? 如果要按照键值保存或者访问数据,使用什么数据结构? ...

    糖果的软件

    如果某个文件使用了存取控制列表( Access Control List ,简称 ACL ),而操作者又没有相应的权限,那么删除文件时就可能 出现“访问被拒绝”的提示。 通常情况下, 管理员具有取得任何文件所有权的隐含能力...

    javaSE代码实例

    7.2.3 类与源代码文件的搭配 106 7.3 成员的访问控制 107 7.3.1 公共类型 107 7.3.2 私有类型 108 7.3.3 默认类型 109 7.3.4 保护类型 109 7.3.5 Java中封装的实现 110 7.4 final的变量 112 7.4.1 ...

    网管教程 从入门到精通软件篇.txt

    CLASS:Java类文件 CLP:Windows 剪贴板文件 CLL:Crick Software Clicker文件 CLS:Visual Basic类文件 CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件 CPI:Microsoft MS-DOS代码页...

    oracle数据库经典题目

    1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。 2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。 3.在需要滤除查询结果中重复的行时,必须...

    Google Android SDK开发范例大全(完整版)

    Java 归档文件,其中包含构建应用程序所需的所有的 Android SDK 类。 documention.html 和 docs 目录 本地和网上提供的 SDK 文档。这些文档的主要形式为 JavaDocs,以便于在 SDK 中导航大量的包。文档还包括一个高级...

    Visual C++编程技巧精选500例.pdf

    287 如何使用AFX EXT CLASS导出类? 288 如何使用declspec(dllexport)导出DLL函数? 第15章 程序版权信息 289 如何查询程序说明? 290 如何查询程序开发商? 291 如何查询程序内部名称? 292 如何查询程序产品名称? 293 ...

    ThinkPHP3.2 集成 php-resque: PHP Resque Worker

    * --debug|VVERBOSE:设置“1”启用更啰嗦模式,会输出详细的调试信息 * --pid|PIDFILE:手动指定PID文件的位置,适用于单Worker运行方式 */ private function init() { $is_sington = false; //是否单例运行...

    C#微软培训资料

    18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...

    Url重写篇视频------本讲将通过实例比较ASP.NET下的三种典型URL重写方案

    所以,为了让这两个不能显示的页面能正常显示,一方面,我们要在IIS中设置默认页,如default.aspx,另一方面,需要让IIS对某个不带aspx扩展名的链接,如这里只包含某个目录的名称的链接转发到默认页。 要做到这...

Global site tag (gtag.js) - Google Analytics