zoukankan      html  css  js  c++  java
  • currentThread()方法返回代码段正在被哪个线程调用

    currentThread()方法返回代码段正在被哪个线程调用

    package com.stono.thread2.page16;
    
    public class MyThread extends Thread{
        public MyThread() {
            System.out.println("构造方法的打印:"+Thread.currentThread().getName());
        }
        @Override
        public void run() {
            System.out.println("run方法的打印:"+Thread.currentThread().getName());
        }
        
        public static void main(String[] args) {
            MyThread myThread = new MyThread();
    //        myThread.start();
    //        构造方法的打印:main
    //        run方法的打印:Thread-0
    
            myThread.run();
    //        构造方法的打印:main
    //        run方法的打印:main
    
        }
    }

     注意与this.getName()的区别

    package com.stono.thread2.page16;
    
    public class CountOperate extends Thread{
        public CountOperate() {
            System.out.println("CountOperate---begin");
            System.out.println("Thread.currentThread().getName()="+Thread.currentThread().getName());
            System.out.println("this.getName()="+this.getName());
            System.out.println("CountOperate---end");
        }
        @Override
        public void run() {
            // super.run();
            System.out.println("run---begin");
            System.out.println("Thread.currentThread().getName()="+Thread.currentThread().getName());
            System.out.println("this.getName()="+this.getName());
            System.out.println("run---end");
            
        }
        
        public static void main(String[] args) {
            CountOperate c = new CountOperate();
            Thread t1 = new Thread(c);
            t1.setName("A");
            t1.start();
    //    CountOperate---begin
    //    Thread.currentThread().getName()=main
    //    this.getName()=Thread-0
    //    CountOperate---end
    //    run---begin
    //    Thread.currentThread().getName()=A
    //    this.getName()=Thread-0
    //    run---end
        }
    
    }

     this.getName()是Thread.getName()方法,源码:

        public final String getName() {
            return new String(name, true);
        }
  • 相关阅读:
    python爬虫基础(requests、BeautifulSoup)
    python中字典按键、值进行排序
    进程和线程的区别
    MySQL中的索引
    python中浅拷贝和深拷贝的区别
    谈谈final、finally、finalize的区别
    python中布尔值是false
    生成器的阐释
    文件处理
    内置函数
  • 原文地址:https://www.cnblogs.com/stono/p/8370699.html
Copyright © 2011-2022 走看看