• Thread的run和start


    class TestThread extends Thread{

      public void run(){
        for(int i=0;i<20;i++){
          System.out.println(Thread.currentThread().getName()+"---is running");
        }
       }
    }
    public class Thread01 {
      public static void main(String[] args) {
        TestThread tt1 = new TestThread();
        TestThread tt2 = new TestThread();
    //   tt1.run();
    //   tt2.run();
        tt1.start();
        tt2.start();
    //   new TestThread().start();

      }

    }

    线程Thread中start()和run()的方法。

    start()是实现并发的重点,run()不过是调用类TestThread中的run()方法。

    使用start()时,结果为:

    Thread-0---is running
    Thread-1---is running
    Thread-0---is running
    Thread-1---is running
    Thread-0---is running
    Thread-0---is running
    Thread-1---is running
    Thread-0---is running
    Thread-1---is running
    Thread-0---is running
    Thread-1---is running
    Thread-0---is running
    Thread-1---is running
    Thread-0---is running
    Thread-1---is running
    Thread-0---is running
    Thread-1---is running
    当调用run()时,结果为:

    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running
    main---is running

    启动一个新的线程不是直接调用子类的run方法,而是调用thread类的start方法,thread类的start方法将产生一个新的线程,并在新的线程上运行该thread类对象中的run方法。由于线程的代码段是在run方法中,那么该方法执行完以后,线程也就相应结束了。

  • 相关阅读:
    Tag文件使用
    微信开发 select选择框
    useGeneratedKeys的用法
    IBM MQ8.0常用操作
    C++对象在继承情况下的内存布局---多态实现的原理
    C++中的赋值操作符重载和拷贝构造函数
    C++中多态的概念和意义
    C 链表冒泡排序
    js 倒计时(可自定义时间)
    如何分析解决Android ANR
  • 原文地址:https://www.cnblogs.com/nathanieltian/p/3993866.html
Copyright © 2020-2023  润新知