zoukankan      html  css  js  c++  java
  • JavaSE:与线程的编号和名称有关的方法

    1.相关的方法

    long getId() 获取调用对象所表示线程的编号
    String getName() 获取调用对象所表示的线程的名称
    void setName(String name) 设置/修改线程的名称为参数指定的数值
    static Thread currentThread() 获取当前正在执行线程的引用

    2.案例题目

      自定义类,继承Thread类,并重写run方法。

      在run方法中,先打印当前线程的编号和名称,然后将线程的名称修改为"zhangfei"后,

      再次打印编号和名称。

      要求在main方法中,也打印主线程的编号和名称。

    代码一

     1 package com.lagou.task18;
     2 
     3 public class ThreadIdNameTest extends Thread {
     4 
     5     public ThreadIdNameTest(String name) {
     6         super(name); // 表示调用父类的构造方法
     7     }
     8 
     9     @Override
    10     public void run() {
    11         System.out.println("子线程的编号是:" + getId() + ",名称是:" + getName()); // 14  Thread-0 guanyu
    12         // 修改名称为"zhangfei"
    13         setName("zhangfei");
    14         System.out.println("修改后子线程的编号是:" + getId() + ",名称是:" + getName()); // 14  zhangfei
    15     }
    16 
    17     public static void main(String[] args) {
    18 
    19         ThreadIdNameTest tint = new ThreadIdNameTest("guanyu");
    20         tint.start();
    21 
    22         // 获取当前正在执行线程的引用,当前正在执行的线程是主线程,也就是获取主线程的引用
    23         Thread t1 = Thread.currentThread();
    24         System.out.println("主线程的编号是:" + t1.getId() + ", 名称是:" + t1.getName());
    25     }
    26 }

    代码二

     1 public class RunnableIdNameTest implements Runnable {
     2     @Override
     3     public void run() {
     4         // 获取当前正在执行线程的引用,也就是子线程的引用
     5         Thread t1 = Thread.currentThread();
     6         System.out.println("子线程的编号是:" + t1.getId() + ", 名称是:" + t1.getName()); // 14 guanyu
     7         t1.setName("zhangfei");
     8         System.out.println("修改后子线程的编号是:" + t1.getId() + ", 名称是:" + t1.getName()); // 14 zhangfei
     9     }
    10 
    11     public static void main(String[] args) {
    12 
    13         RunnableIdNameTest rint = new RunnableIdNameTest();
    14         //Thread t2 = new Thread(rint);
    15         Thread t2 = new Thread(rint, "guanyu");
    16         t2.start();
    17 
    18         // 获取当前正在执行线程的引用,当前正在执行的线程是主线程,也就是获取主线程的引用
    19         Thread t1 = Thread.currentThread();
    20         System.out.println("主线程的编号是:" + t1.getId() + ", 名称是:" + t1.getName());
    21     }
    22 }

     3. 运行效果

     代码一

     

     

     

     代码二

     

     

  • 相关阅读:
    番茄土豆:小小生产力工具
    ubuntu下thrift的安装
    番茄工作法:试试看?
    python利用thrift连接hive
    如何预测用户query意图 « 搜索技术博客-淘宝
    笔记:Ubuntu下快速开始使用Python Thrift | 孙立文的博客
    hive使用
    checkout centos is x86_64 or 32bit
    溢泰的休閒世界 溢泰的 CentOS 5.x 系統與內建軟體安裝筆記整理
    番茄工作法_Feisky_新浪博客
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/14889919.html
Copyright © 2011-2022 走看看