当前位置: 首页>>代码示例>>Java>>正文


Java JavaThread类代码示例

本文整理汇总了Java中sun.jvm.hotspot.runtime.JavaThread的典型用法代码示例。如果您正苦于以下问题:Java JavaThread类的具体用法?Java JavaThread怎么用?Java JavaThread使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


JavaThread类属于sun.jvm.hotspot.runtime包,在下文中一共展示了JavaThread类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doit

import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public void doit(Tokens t) {
    if (t.countTokens() != 1) {
        usage();
    } else {
        String name = t.nextToken();
        boolean all = name.equals("-a");
        Threads threads = VM.getVM().getThreads();
        for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) {
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            thread.printThreadIDOn(new PrintStream(bos));
            if (all || bos.toString().equals(name)) {
              if (thread instanceof CompilerThread) {
                CompilerThread ct = (CompilerThread)thread;
                out.println(ct);
                ciEnv env = ct.env();
                if (env != null) {
                  Compile c = env.compilerData();
                  c.cfg().dump(out);
                }
              }
            }
        }
    }
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:25,代码来源:CommandProcessor.java

示例2: doit

import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public void doit(Tokens t) {
    if (t.countTokens() != 0) {
        usage();
    } else {
        ArrayList nmethods = new ArrayList();
        Threads threads = VM.getVM().getThreads();
        HTMLGenerator gen = new HTMLGenerator(false);
        for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) {
            try {
                for (JavaVFrame vf = thread.getLastJavaVFrameDbg(); vf != null; vf = vf.javaSender()) {
                    if (vf instanceof CompiledVFrame) {
                        NMethod c = ((CompiledVFrame)vf).getCode();
                        if (!nmethods.contains(c)) {
                            nmethods.add(c);
                            out.println(gen.genHTML(c));
                        }
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
 
开发者ID:infobip,项目名称:infobip-open-jdk-8,代码行数:25,代码来源:CommandProcessor.java

示例3: doit

import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public void doit(Tokens t) {
    if (t.countTokens() != 1) {
        usage();
    } else {
        String name = t.nextToken();
        Threads threads = VM.getVM().getThreads();
        boolean all = name.equals("-a");
        for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) {
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            thread.printThreadIDOn(new PrintStream(bos));
            if (all || bos.toString().equals(name)) {
                out.println("Thread " + bos.toString() + " Address " + thread.getAddress());
                if (!all) return;
            }
        }
        out.println("Couldn't find thread " + name);
    }
}
 
开发者ID:RedlineResearch,项目名称:OLD-OpenJDK8,代码行数:19,代码来源:CommandProcessor.java

示例4: getJavaThreadsInfo

import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
/** this functions used for core file reading and called from native attach0,
    it returns an array of long integers as
    [thread_id, stack_start, stack_end, thread_id, stack_start, stack_end, ....] for
    all java threads recorded in Threads. Also adds the ThreadProxy to threadList */
public long[] getJavaThreadsInfo() {
    requireAttach();
    Threads threads = VM.getVM().getThreads();
    int len = threads.getNumberOfThreads();
    long[] result = new long[len * 3];    // triple
    JavaThread t = threads.first();
    long beg, end;
    int i = 0;
    while (t != null) {
        end = t.getStackBaseValue();
        beg = end - t.getStackSize();
        BsdThread bsdt = (BsdThread)t.getThreadProxy();
        long uid = bsdt.getUniqueThreadId();
        if (threadList != null) threadList.add(bsdt);
        result[i] = uid;
        result[i + 1] = beg;
        result[i + 2] = end;
        t = t.next();
        i += 3;
    }
    return result;
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:27,代码来源:BsdDebuggerLocal.java

示例5: doit

import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public void doit(Tokens t) {
    if (t.countTokens() != 1) {
        usage();
    } else {
        String name = t.nextToken();
        boolean all = name.equals("-a");
        Threads threads = VM.getVM().getThreads();
        for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) {
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            thread.printThreadIDOn(new PrintStream(bos));
            if (all || bos.toString().equals(name)) {
              if (thread instanceof CompilerThread) {
                CompilerThread ct = (CompilerThread)thread;
                out.println(ct);
                ciEnv env = ct.env();
                if (env != null) {
                  Compile c = env.compilerData();
                  c.root().dump(9999, out);
                } else {
                  out.println("  not compiling");
                }
              }
            }
        }
    }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:27,代码来源:CommandProcessor.java

示例6: threads

import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public List threads() {
    // Each element of this array is the Oop for a thread;
    // NOTE it is not the JavaThread that we need to create
    // a ThreadReferenceImpl.
    Oop[] myThreads = OopUtilities.threadGroupOopGetThreads(ref());

    ArrayList myList = new ArrayList(myThreads.length);
    for (int ii = 0; ii < myThreads.length; ii++) {
        JavaThread jt = OopUtilities.threadOopGetJavaThread(myThreads[ii]);
        if (jt != null) {
            ThreadReferenceImpl xx = (ThreadReferenceImpl)vm.threadMirror(jt);
            myList.add(xx);
        }
    }
    return myList;
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:17,代码来源:ThreadGroupReferenceImpl.java

示例7: getAllThreads

import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
private List getAllThreads() {
    if (allThreads == null) {
        allThreads = new ArrayList(10);  // Might be enough, might not be
        for (sun.jvm.hotspot.runtime.JavaThread thread =
                 saVM.getThreads().first(); thread != null;
                 thread = thread.next()) {
            // refer to JvmtiEnv::GetAllThreads in jvmtiEnv.cpp.
            // filter out the hidden-from-external-view threads.
            if (thread.isHiddenFromExternalView() == false) {
                ThreadReferenceImpl myThread = threadMirror(thread);
                allThreads.add(myThread);
            }
        }
    }
    return allThreads;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:17,代码来源:VirtualMachineImpl.java


注:本文中的sun.jvm.hotspot.runtime.JavaThread类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。