zoukankan      html  css  js  c++  java
  • 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方法中,那么该方法执行完以后,线程也就相应结束了。

  • 相关阅读:
    m.baidu.com/?tn=simple 开始有广告了。。。
    一些话
    sublime text3中如何使用PHP编译系统
    遇到了一个特别有意思的题
    RVS PA-1800 功放参数
    TP框架修改后台路径方法
    换手机号之前需要看看
    layui跨域问题的解决
    Send me
    单细胞文章分享:Molecular Diversity of Midbrain Development in Mouse, Human, and Stem Cells
  • 原文地址:https://www.cnblogs.com/nathanieltian/p/3993866.html
Copyright © 2011-2022 走看看