< prev index next >

src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedThread.java

Print this page

  9  * by Oracle in the LICENSE file that accompanied this code.
 10  *
 11  * This code is distributed in the hope that it will be useful, but WITHOUT
 12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 14  * version 2 for more details (a copy is included in the LICENSE file that
 15  * accompanied this code).
 16  *
 17  * You should have received a copy of the GNU General Public License version
 18  * 2 along with this work; if not, write to the Free Software Foundation,
 19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 20  *
 21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 22  * or visit www.oracle.com if you need additional information or have any
 23  * questions.
 24  */
 25 
 26 package jdk.jfr.consumer;
 27 
 28 import jdk.jfr.internal.consumer.ObjectContext;
 29 import jdk.internal.javac.PreviewFeature;
 30 
 31 /**
 32  * A recorded thread.
 33  *
 34  * @since 9
 35  */
 36 public final class RecordedThread extends RecordedObject {
 37     private final long uniqueId;
 38 
 39     // package private
 40     RecordedThread(ObjectContext objectContext, long id, Object[] values) {
 41         super(objectContext, values);
 42         this.uniqueId = id;
 43     }
 44 
 45     /**
 46      * Returns the thread name used by the operating system.
 47      *
 48      * @return the OS thread name, or {@code null} if doesn't exist
 49      */

 96 
 97     /**
 98      * Returns a unique ID for both native threads and Java threads that can't be
 99      * reused within the lifespan of the JVM.
100      * <p>
101      * See {@link #getJavaThreadId()} for the ID that is returned by
102      * {@code java.lang.Thread.threadId()}.
103      * <p>
104      * See {@link #getOSThreadId()} for the ID that is returned by
105      * the operating system.
106      *
107      * @return a unique ID for the thread
108      */
109     public long getId() {
110         return uniqueId;
111     }
112 
113     /**
114      * {@return {@code true} if this is a virtual Thread, {@code false} otherwise}
115      *
116      * @since 19
117      */
118     @PreviewFeature(feature = PreviewFeature.Feature.VIRTUAL_THREADS, reflective = true)
119     public boolean isVirtual() {
120         return getTyped("virtual", Boolean.class, Boolean.FALSE);
121     }
122 
123 }

  9  * by Oracle in the LICENSE file that accompanied this code.
 10  *
 11  * This code is distributed in the hope that it will be useful, but WITHOUT
 12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 14  * version 2 for more details (a copy is included in the LICENSE file that
 15  * accompanied this code).
 16  *
 17  * You should have received a copy of the GNU General Public License version
 18  * 2 along with this work; if not, write to the Free Software Foundation,
 19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 20  *
 21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 22  * or visit www.oracle.com if you need additional information or have any
 23  * questions.
 24  */
 25 
 26 package jdk.jfr.consumer;
 27 
 28 import jdk.jfr.internal.consumer.ObjectContext;

 29 
 30 /**
 31  * A recorded thread.
 32  *
 33  * @since 9
 34  */
 35 public final class RecordedThread extends RecordedObject {
 36     private final long uniqueId;
 37 
 38     // package private
 39     RecordedThread(ObjectContext objectContext, long id, Object[] values) {
 40         super(objectContext, values);
 41         this.uniqueId = id;
 42     }
 43 
 44     /**
 45      * Returns the thread name used by the operating system.
 46      *
 47      * @return the OS thread name, or {@code null} if doesn't exist
 48      */

 95 
 96     /**
 97      * Returns a unique ID for both native threads and Java threads that can't be
 98      * reused within the lifespan of the JVM.
 99      * <p>
100      * See {@link #getJavaThreadId()} for the ID that is returned by
101      * {@code java.lang.Thread.threadId()}.
102      * <p>
103      * See {@link #getOSThreadId()} for the ID that is returned by
104      * the operating system.
105      *
106      * @return a unique ID for the thread
107      */
108     public long getId() {
109         return uniqueId;
110     }
111 
112     /**
113      * {@return {@code true} if this is a virtual Thread, {@code false} otherwise}
114      *
115      * @since 21
116      */

117     public boolean isVirtual() {
118         return getTyped("virtual", Boolean.class, Boolean.FALSE);
119     }
120 
121 }
< prev index next >