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方法中,那么该方法执行完以后,线程也就相应结束了。

  • 相关阅读:
    [置顶] 怎么对待重复的代码
    AIX和Linux中wtmp的不同处理方式
    Visio 下载,及密钥
    全局变量和局部变量
    UNIX网络编程--IPV4 IPV6 ICMPV4 ICMPV6
    Android XML文档解析(一)——SAX解析
    rnqoj-30- [stupid]愚蠢的矿工-树形DP
    linux 文件内容的复制
    主流视音频平台参数
    FTP原理
  • 原文地址:https://www.cnblogs.com/nathanieltian/p/3993866.html
Copyright © 2011-2022 走看看