blob: 2c4842d225be74b1351dca37ba147289ea6bee70 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>JavaThread (OpenJ9 JDK 16)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: openj9.dtfj, package: com.ibm.dtfj.java, interface: JavaThread">
<meta name="generator" content="javadoc/ClassWriterImpl">
<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="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 16</strong></div></div>
<ul id="navbar.top.firstrow" class="nav-list" 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="nav-bar-cell1-rev">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>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<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="sub-nav-list">
<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>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!-- -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">openj9.dtfj</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.dtfj.java</a></div>
<h1 title="Interface JavaThread" class="title">Interface JavaThread</h1>
</div>
<section class="description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../j9ddr/vm29/view/dtfj/java/DTFJJavaThread.html" title="class in com.ibm.j9ddr.vm29.view.dtfj.java">DTFJJavaThread</a></code>, <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>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">JavaThread</span></div>
<div class="block">Represents a Java thread.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="JavaRuntime.html#getThreads()"><code>JavaRuntime.getThreads()</code></a></dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field.summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#STATE_ALIVE">STATE_ALIVE</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">The thread is alive</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#STATE_BLOCKED_ON_MONITOR_ENTER">STATE_BLOCKED_ON_MONITOR_ENTER</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">The thread is waiting to enter an object monitor</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#STATE_IN_NATIVE">STATE_IN_NATIVE</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">The thread is in native code</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#STATE_IN_OBJECT_WAIT">STATE_IN_OBJECT_WAIT</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">The thread is in Object.wait</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#STATE_INTERRUPTED">STATE_INTERRUPTED</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">The thread has a pending interrupt</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#STATE_PARKED">STATE_PARKED</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">The thread has been deliberately removed from scheduling</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#STATE_RUNNABLE">STATE_RUNNABLE</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">The thread can be run although may not be actually running</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#STATE_SLEEPING">STATE_SLEEPING</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">The thread is in the Thread.sleep method</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#STATE_SUSPENDED">STATE_SUSPENDED</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">The thread has been suspended by Thread.suspend</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#STATE_TERMINATED">STATE_TERMINATED</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">The thread has terminated</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#STATE_VENDOR_1">STATE_VENDOR_1</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">The thread is in a vendor specific state</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#STATE_VENDOR_2">STATE_VENDOR_2</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">The thread is in a vendor specific state</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#STATE_VENDOR_3">STATE_VENDOR_3</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">The thread is in a vendor specific state</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#STATE_WAITING">STATE_WAITING</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">The thread is in a waiting state in native code</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#STATE_WAITING_INDEFINITELY">STATE_WAITING_INDEFINITELY</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">The thread is waiting on a monitor with no timeout value set</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#STATE_WAITING_WITH_TIMEOUT">STATE_WAITING_WITH_TIMEOUT</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">The thread is waiting on a monitor but will timeout at some point</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>&nbsp;obj)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<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>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getBlockingObject()">getBlockingObject</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<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>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="../image/ImageThread.html" title="interface in com.ibm.dtfj.image">ImageThread</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getImageThread()">getImageThread</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Represents the joining point between the Java view of execution and the corresponding native view.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getJNIEnv()">getJNIEnv</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the address of the JNIEnv structure which represents this thread instance in JNI.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getName()">getName</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Return the name of the thread.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getObject()">getObject</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Fetch the java.lang.Thread associated with this thread.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getPriority()">getPriority</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the Java priority of the thread.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getStackFrames()">getStackFrames</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the set of stack frames.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getStackSections()">getStackSections</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the set of ImageSections which make up the managed stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getState()">getState</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the state of the thread when the image was created.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#hashCode()">hashCode</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Answers an integer hash code for the receiver.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field.detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="STATE_ALIVE">
<h3>STATE_ALIVE</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_ALIVE</span></div>
<div class="block">The thread is alive</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_ALIVE">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_TERMINATED">
<h3>STATE_TERMINATED</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_TERMINATED</span></div>
<div class="block">The thread has terminated</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_TERMINATED">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_RUNNABLE">
<h3>STATE_RUNNABLE</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_RUNNABLE</span></div>
<div class="block">The thread can be run although may not be actually running</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_RUNNABLE">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_WAITING_INDEFINITELY">
<h3>STATE_WAITING_INDEFINITELY</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_WAITING_INDEFINITELY</span></div>
<div class="block">The thread is waiting on a monitor with no timeout value set</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_WAITING_INDEFINITELY">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_WAITING_WITH_TIMEOUT">
<h3>STATE_WAITING_WITH_TIMEOUT</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_WAITING_WITH_TIMEOUT</span></div>
<div class="block">The thread is waiting on a monitor but will timeout at some point</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_WAITING_WITH_TIMEOUT">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_SLEEPING">
<h3>STATE_SLEEPING</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_SLEEPING</span></div>
<div class="block">The thread is in the Thread.sleep method</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_SLEEPING">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_WAITING">
<h3>STATE_WAITING</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_WAITING</span></div>
<div class="block">The thread is in a waiting state in native code</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_WAITING">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_IN_OBJECT_WAIT">
<h3>STATE_IN_OBJECT_WAIT</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_IN_OBJECT_WAIT</span></div>
<div class="block">The thread is in Object.wait</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_IN_OBJECT_WAIT">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_PARKED">
<h3>STATE_PARKED</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_PARKED</span></div>
<div class="block">The thread has been deliberately removed from scheduling</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_PARKED">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_BLOCKED_ON_MONITOR_ENTER">
<h3>STATE_BLOCKED_ON_MONITOR_ENTER</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_BLOCKED_ON_MONITOR_ENTER</span></div>
<div class="block">The thread is waiting to enter an object monitor</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_BLOCKED_ON_MONITOR_ENTER">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_SUSPENDED">
<h3>STATE_SUSPENDED</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_SUSPENDED</span></div>
<div class="block">The thread has been suspended by Thread.suspend</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_SUSPENDED">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_INTERRUPTED">
<h3>STATE_INTERRUPTED</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_INTERRUPTED</span></div>
<div class="block">The thread has a pending interrupt</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_INTERRUPTED">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_IN_NATIVE">
<h3>STATE_IN_NATIVE</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_IN_NATIVE</span></div>
<div class="block">The thread is in native code</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_IN_NATIVE">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_VENDOR_1">
<h3>STATE_VENDOR_1</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_VENDOR_1</span></div>
<div class="block">The thread is in a vendor specific state</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_VENDOR_1">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_VENDOR_2">
<h3>STATE_VENDOR_2</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_VENDOR_2</span></div>
<div class="block">The thread is in a vendor specific state</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_VENDOR_2">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="STATE_VENDOR_3">
<h3>STATE_VENDOR_3</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATE_VENDOR_3</span></div>
<div class="block">The thread is in a vendor specific state</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaThread.STATE_VENDOR_3">Constant Field Values</a></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getJNIEnv()">
<h3>getJNIEnv</h3>
<div class="member-signature"><span class="return-type"><a href="../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span>&nbsp;<span class="element-name">getJNIEnv</span>()
throws <span class="exceptions"><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block">Get the address of the JNIEnv structure which represents this thread instance in JNI.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the address of the JNIEnv structure which represents this thread instance in JNI</dd>
<dt>Throws:</dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPriority()">
<h3>getPriority</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getPriority</span>()
throws <span class="exceptions"><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block">Get the Java priority of the thread.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the Java priority of the thread (a number between 1 and 10 inclusive)</dd>
<dt>Throws:</dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt>See Also:</dt>
<dd><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Thread.html#getPriority()" title="class or interface in java.lang" class="external-link" target="_blank"><code>Thread.getPriority()</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getObject()">
<h3>getObject</h3>
<div class="member-signature"><span class="return-type"><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></span>&nbsp;<span class="element-name">getObject</span>()
throws <span class="exceptions"><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<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 class="notes">
<dt>Returns:</dt>
<dd>the a JavaObject representing the java.lang.Thread associated with this thread</dd>
<dt>Throws:</dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt>See Also:</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/16/docs/api/java.base/java/lang/Thread.html" title="class or interface in java.lang" class="external-link" target="_blank"><code>Thread</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getState()">
<h3>getState</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getState</span>()
throws <span class="exceptions"><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block">Get the state of the thread when the image was created.</div>
<dl class="notes">
<dt>Returns:</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>Throws:</dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getImageThread()">
<h3>getImageThread</h3>
<div class="member-signature"><span class="return-type"><a href="../image/ImageThread.html" title="interface in com.ibm.dtfj.image">ImageThread</a></span>&nbsp;<span class="element-name">getImageThread</span>()
throws <span class="exceptions"><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></span></div>
<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 class="notes">
<dt>Returns:</dt>
<dd>the ImageThread which this ManagedThread is currently bound to.</dd>
<dt>Throws:</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>See Also:</dt>
<dd><a href="../image/ImageThread.html" title="interface in com.ibm.dtfj.image"><code>ImageThread</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getStackSections()">
<h3>getStackSections</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getStackSections</span>()</div>
<div class="block">Get the set of ImageSections which make up the managed stack.</div>
<dl class="notes">
<dt>Returns:</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>See Also:</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>
</section>
</li>
<li>
<section class="detail" id="getStackFrames()">
<h3>getStackFrames</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getStackFrames</span>()</div>
<div class="block">Get the set of stack frames.</div>
<dl class="notes">
<dt>Returns:</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>See Also:</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>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></span>&nbsp;<span class="element-name">getName</span>()
throws <span class="exceptions"><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<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 class="notes">
<dt>Returns:</dt>
<dd>the name of the thread</dd>
<dt>Throws:</dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBlockingObject()">
<h3>getBlockingObject</h3>
<div class="member-signature"><span class="return-type"><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></span>&nbsp;<span class="element-name">getBlockingObject</span>()
throws <span class="exceptions"><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></span></div>
<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 class="notes">
<dt>Returns:</dt>
<dd>the object this thread is waiting on or null.</dd>
<dt>Throws:</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>Since:</dt>
<dd>1.6</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>&nbsp;obj)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" 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 class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></code></dd>
<dt>Parameters:</dt>
<dd><code>obj</code> - </dd>
<dt>Returns:</dt>
<dd>True if the given object refers to the same Java Thread in the image</dd>
<dt>See Also:</dt>
<dd><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank"><code>Object.hashCode()</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" 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 class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></code></dd>
<dt>Returns:</dt>
<dd>the receiver's hash.</dd>
<dt>See Also:</dt>
<dd><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank"><code>Object.equals(java.lang.Object)</code></a></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><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/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</div>
</div>
</body>
</html>