zoukankan      html  css  js  c++  java
  • java使用run和start后的线程引用

    public class ThreadDemo extends Thread {
        @Override
        public void run() {
            for(int i = 0; i <= 5; i++) {
                try {
                    System.out.println(currentThread().getName() + "---" + i);
                    sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    
        public static void main(String[] args) {
            ThreadDemo t = new ThreadDemo();
            t.setName("t");
            t.start();  //打印的是t线程
            t.run();    //打印主线程main
        }
    }
    结果:

     分析:

     1 程序运行开始,jvm会自动创建线程main,也就是主线程
    2 主线程在执行代码时,创建一个线程,当线程调用start()后,就启用了线程,
    主线程继续往下执行代码。被启用的线程内部会自动调用run方法(start0() 本地方法或者说底层操作系统),
    所以此时run方法是在该线程内运行
    3 实例.run()仅仅只是调用对象的方法,与普通方法无差别,并没有启动新的线程,所以该方法还是在main线程内使用
  • 相关阅读:
    指针
    显示和隐式转换
    C++虚函数
    字符串输出
    BP神经网络
    超像素分割
    函数putText()在图片上写文字
    compare
    十五、cookies和session的使用
    爬取腾讯社招职位信息
  • 原文地址:https://www.cnblogs.com/yewook/p/13437086.html
Copyright © 2011-2022 走看看