blob: f5d526044e548070aca4c740de1f13126406401d [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>JavaThread (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.dtfj.java.JavaThread interface">
<meta name="keywords" content="STATE_ALIVE">
<meta name="keywords" content="STATE_TERMINATED">
<meta name="keywords" content="STATE_RUNNABLE">
<meta name="keywords" content="STATE_WAITING_INDEFINITELY">
<meta name="keywords" content="STATE_WAITING_WITH_TIMEOUT">
<meta name="keywords" content="STATE_SLEEPING">
<meta name="keywords" content="STATE_WAITING">
<meta name="keywords" content="STATE_IN_OBJECT_WAIT">
<meta name="keywords" content="STATE_PARKED">
<meta name="keywords" content="STATE_BLOCKED_ON_MONITOR_ENTER">
<meta name="keywords" content="STATE_SUSPENDED">
<meta name="keywords" content="STATE_INTERRUPTED">
<meta name="keywords" content="STATE_IN_NATIVE">
<meta name="keywords" content="STATE_VENDOR_1">
<meta name="keywords" content="STATE_VENDOR_2">
<meta name="keywords" content="STATE_VENDOR_3">
<meta name="keywords" content="getJNIEnv()">
<meta name="keywords" content="getPriority()">
<meta name="keywords" content="getObject()">
<meta name="keywords" content="getState()">
<meta name="keywords" content="getImageThread()">
<meta name="keywords" content="getStackSections()">
<meta name="keywords" content="getStackFrames()">
<meta name="keywords" content="getName()">
<meta name="keywords" content="getBlockingObject()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="hashCode()">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="JavaThread (OpenJ9 JDK 11)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JavaThread.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="moduleLabelInType">Module</span>&nbsp;<a href="../../../../module-summary.html">openj9.dtfj</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.ibm.dtfj.java</a></div>
<h2 title="Interface JavaThread" class="title">Interface JavaThread</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="j9/JavaThread.html" title="class in com.ibm.dtfj.java.j9">JavaThread</a></code>, <code><a href="javacore/JCJavaThread.html" title="class in com.ibm.dtfj.java.javacore">JCJavaThread</a></code>, <code><a href="../phd/PHDCorruptJavaThread.html" title="class in com.ibm.dtfj.phd">PHDCorruptJavaThread</a></code>, <code><a href="../phd/PHDJavaThread.html" title="class in com.ibm.dtfj.phd">PHDJavaThread</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">JavaThread</span></pre>
<div class="block">Represents a Java thread.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="JavaRuntime.html#getThreads()"><code>JavaRuntime.getThreads()</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_ALIVE">STATE_ALIVE</a></span></code></th>
<td class="colLast">
<div class="block">The thread is alive</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_BLOCKED_ON_MONITOR_ENTER">STATE_BLOCKED_ON_MONITOR_ENTER</a></span></code></th>
<td class="colLast">
<div class="block">The thread is waiting to enter an object monitor</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_IN_NATIVE">STATE_IN_NATIVE</a></span></code></th>
<td class="colLast">
<div class="block">The thread is in native code</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_IN_OBJECT_WAIT">STATE_IN_OBJECT_WAIT</a></span></code></th>
<td class="colLast">
<div class="block">The thread is in Object.wait</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_INTERRUPTED">STATE_INTERRUPTED</a></span></code></th>
<td class="colLast">
<div class="block">The thread has a pending interrupt</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_PARKED">STATE_PARKED</a></span></code></th>
<td class="colLast">
<div class="block">The thread has been deliberately removed from scheduling</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_RUNNABLE">STATE_RUNNABLE</a></span></code></th>
<td class="colLast">
<div class="block">The thread can be run although may not be actually running</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_SLEEPING">STATE_SLEEPING</a></span></code></th>
<td class="colLast">
<div class="block">The thread is in the Thread.sleep method</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_SUSPENDED">STATE_SUSPENDED</a></span></code></th>
<td class="colLast">
<div class="block">The thread has been suspended by Thread.suspend</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_TERMINATED">STATE_TERMINATED</a></span></code></th>
<td class="colLast">
<div class="block">The thread has terminated</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_VENDOR_1">STATE_VENDOR_1</a></span></code></th>
<td class="colLast">
<div class="block">The thread is in a vendor specific state</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_VENDOR_2">STATE_VENDOR_2</a></span></code></th>
<td class="colLast">
<div class="block">The thread is in a vendor specific state</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_VENDOR_3">STATE_VENDOR_3</a></span></code></th>
<td class="colLast">
<div class="block">The thread is in a vendor specific state</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_WAITING">STATE_WAITING</a></span></code></th>
<td class="colLast">
<div class="block">The thread is in a waiting state in native code</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_WAITING_INDEFINITELY">STATE_WAITING_INDEFINITELY</a></span></code></th>
<td class="colLast">
<div class="block">The thread is waiting on a monitor with no timeout value set</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_WAITING_WITH_TIMEOUT">STATE_WAITING_WITH_TIMEOUT</a></span></code></th>
<td class="colLast">
<div class="block">The thread is waiting on a monitor but will timeout at some point</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a>&nbsp;obj)</code></th>
<td class="colLast">
<div class="block">Compares the argument to the receiver, and answers true
if they represent the <em>same</em> object using a class
specific comparison.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBlockingObject()">getBlockingObject</a></span>()</code></th>
<td class="colLast">
<div class="block">For threads that are in STATE_BLOCKED_ON_MONITOR_ENTER this method returns the JavaObject who's monitor they are blocked on.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../image/ImageThread.html" title="interface in com.ibm.dtfj.image">ImageThread</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImageThread()">getImageThread</a></span>()</code></th>
<td class="colLast">
<div class="block">Represents the joining point between the Java view of execution and the corresponding native view.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getJNIEnv()">getJNIEnv</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the address of the JNIEnv structure which represents this thread instance in JNI.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the name of the thread.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getObject()">getObject</a></span>()</code></th>
<td class="colLast">
<div class="block">Fetch the java.lang.Thread associated with this thread.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPriority()">getPriority</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the Java priority of the thread.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStackFrames()">getStackFrames</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the set of stack frames.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStackSections()">getStackSections</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the set of ImageSections which make up the managed stack.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getState()">getState</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the state of the thread when the image was created.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">
<div class="block">Answers an integer hash code for the receiver.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="STATE_ALIVE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_ALIVE</h4>
<pre>static final&nbsp;int STATE_ALIVE</pre>
<div class="block">The thread is alive</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_ALIVE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_TERMINATED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_TERMINATED</h4>
<pre>static final&nbsp;int STATE_TERMINATED</pre>
<div class="block">The thread has terminated</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_TERMINATED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_RUNNABLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_RUNNABLE</h4>
<pre>static final&nbsp;int STATE_RUNNABLE</pre>
<div class="block">The thread can be run although may not be actually running</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_RUNNABLE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_WAITING_INDEFINITELY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_WAITING_INDEFINITELY</h4>
<pre>static final&nbsp;int STATE_WAITING_INDEFINITELY</pre>
<div class="block">The thread is waiting on a monitor with no timeout value set</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_WAITING_INDEFINITELY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_WAITING_WITH_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_WAITING_WITH_TIMEOUT</h4>
<pre>static final&nbsp;int STATE_WAITING_WITH_TIMEOUT</pre>
<div class="block">The thread is waiting on a monitor but will timeout at some point</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_WAITING_WITH_TIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_SLEEPING">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_SLEEPING</h4>
<pre>static final&nbsp;int STATE_SLEEPING</pre>
<div class="block">The thread is in the Thread.sleep method</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_SLEEPING">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_WAITING">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_WAITING</h4>
<pre>static final&nbsp;int STATE_WAITING</pre>
<div class="block">The thread is in a waiting state in native code</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_WAITING">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_IN_OBJECT_WAIT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_IN_OBJECT_WAIT</h4>
<pre>static final&nbsp;int STATE_IN_OBJECT_WAIT</pre>
<div class="block">The thread is in Object.wait</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_IN_OBJECT_WAIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_PARKED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_PARKED</h4>
<pre>static final&nbsp;int STATE_PARKED</pre>
<div class="block">The thread has been deliberately removed from scheduling</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_PARKED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_BLOCKED_ON_MONITOR_ENTER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_BLOCKED_ON_MONITOR_ENTER</h4>
<pre>static final&nbsp;int STATE_BLOCKED_ON_MONITOR_ENTER</pre>
<div class="block">The thread is waiting to enter an object monitor</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_BLOCKED_ON_MONITOR_ENTER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_SUSPENDED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_SUSPENDED</h4>
<pre>static final&nbsp;int STATE_SUSPENDED</pre>
<div class="block">The thread has been suspended by Thread.suspend</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_SUSPENDED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_INTERRUPTED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_INTERRUPTED</h4>
<pre>static final&nbsp;int STATE_INTERRUPTED</pre>
<div class="block">The thread has a pending interrupt</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_INTERRUPTED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_IN_NATIVE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_IN_NATIVE</h4>
<pre>static final&nbsp;int STATE_IN_NATIVE</pre>
<div class="block">The thread is in native code</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_IN_NATIVE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_VENDOR_1">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_VENDOR_1</h4>
<pre>static final&nbsp;int STATE_VENDOR_1</pre>
<div class="block">The thread is in a vendor specific state</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_VENDOR_1">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_VENDOR_2">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_VENDOR_2</h4>
<pre>static final&nbsp;int STATE_VENDOR_2</pre>
<div class="block">The thread is in a vendor specific state</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_VENDOR_2">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="STATE_VENDOR_3">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>STATE_VENDOR_3</h4>
<pre>static final&nbsp;int STATE_VENDOR_3</pre>
<div class="block">The thread is in a vendor specific state</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_VENDOR_3">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getJNIEnv()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJNIEnv</h4>
<pre class="methodSignature"><a href="../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;getJNIEnv()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Get the address of the JNIEnv structure which represents this thread instance in JNI.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the address of the JNIEnv structure which represents this thread instance in JNI</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="getPriority()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriority</h4>
<pre class="methodSignature">int&nbsp;getPriority()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Get the Java priority of the thread.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Java priority of the thread (a number between 1 and 10 inclusive)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Thread.html?is-external=true#getPriority()" title="class or interface in java.lang" class="externalLink" target="_blank"><code>Thread.getPriority()</code></a></dd>
</dl>
</li>
</ul>
<a id="getObject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObject</h4>
<pre class="methodSignature"><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;getObject()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Fetch the java.lang.Thread associated with this thread. If the thread is in the process
of being attached, this may return null.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the a JavaObject representing the java.lang.Thread associated with this thread</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="JavaObject.html" title="interface in com.ibm.dtfj.java"><code>JavaObject</code></a>,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Thread.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank"><code>Thread</code></a></dd>
</dl>
</li>
</ul>
<a id="getState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre class="methodSignature">int&nbsp;getState()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Get the state of the thread when the image was created.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the state of the thread when the image was created.
The result is a bit vector, and uses the states defined by
the JVMTI specification.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="getImageThread()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getImageThread</h4>
<pre class="methodSignature"><a href="../image/ImageThread.html" title="interface in com.ibm.dtfj.image">ImageThread</a>&nbsp;getImageThread()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a>,
<a href="../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></pre>
<div class="block">Represents the joining point between the Java view of execution and the corresponding native view.
This method is where the mapping from Java into native threading resources is provided.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ImageThread which this ManagedThread is currently bound to.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code> - If the underlying resource describing the native representation of the thread
is damaged</dd>
<dd><code><a href="../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code> - If no mapping is provided due to missing or limited underlying resources (this
exception added in DTFJ 1.1)</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../image/ImageThread.html" title="interface in com.ibm.dtfj.image"><code>ImageThread</code></a></dd>
</dl>
</li>
</ul>
<a id="getStackSections()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStackSections</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getStackSections()</pre>
<div class="block">Get the set of ImageSections which make up the managed stack.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a collection of ImageSections which make up the managed stack.
<p>
Some Runtime implementations may also use parts of the ImageThread's stack
for ManagesStackFrames</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../image/ImageSection.html" title="interface in com.ibm.dtfj.image"><code>ImageSection</code></a>,
<a href="../image/ImageThread.html#getStackSections()"><code>ImageThread.getStackSections()</code></a>,
<a href="../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</li>
</ul>
<a id="getStackFrames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStackFrames</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getStackFrames()</pre>
<div class="block">Get the set of stack frames.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator to walk the managed stack frames in order from
top-of-stack (that is, the most recent frame) to bottom-of-stack</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="JavaStackFrame.html" title="interface in com.ibm.dtfj.java"><code>JavaStackFrame</code></a>,
<a href="../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</li>
</ul>
<a id="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">String</a>&nbsp;getName()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Return the name of the thread.
Usually this is derived from the object associated with the thread, but if the
name cannot be derived this way (e.g. there is no object associated with the thread)
DTFJ will synthesize a name for the thread.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of the thread</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="getBlockingObject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBlockingObject</h4>
<pre class="methodSignature"><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;getBlockingObject()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a>,
<a href="../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></pre>
<div class="block">For threads that are in STATE_BLOCKED_ON_MONITOR_ENTER this method returns the JavaObject who's monitor they are blocked on.
For threads that are in STATE_IN_OBJECT_WAIT this method returns the JavaObject that Object.wait() was called on.
For threads that are in STATE_PARKED this method returns the JavaObject that was passed as the "blocker" object to the java.util.concurrent.LockSupport.park() call. It may return null if no blocker object was passed.
For threads in any other state this call will return null.
The state of the thread can be determined by calling JavaThread.getState()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the object this thread is waiting on or null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dd><code><a href="../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6</dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">boolean&nbsp;equals&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a>&nbsp;obj)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink" target="_blank">java.lang.Object</a></code></span></div>
<div class="block">Compares the argument to the receiver, and answers true
if they represent the <em>same</em> object using a class
specific comparison. The implementation in Object answers
true only if the argument is the exact same object as the
receiver (==).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink" target="_blank">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>obj</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the given object refers to the same Java Thread in the image</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink" target="_blank"><code>Object.hashCode()</code></a></dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">int&nbsp;hashCode()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink" target="_blank">java.lang.Object</a></code></span></div>
<div class="block">Answers an integer hash code for the receiver. Any two
objects which answer <code>true</code> when passed to
<code>.equals</code> must answer the same value for this
method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink" target="_blank">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the receiver's hash.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink" target="_blank"><code>Object.equals(java.lang.Object)</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JavaThread.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</body>
</html>