Day12_60_多线程的建立和启动(一)

多线程的建立和启动

*  在java语言中实现多线程的第一种方式, 继承 java.lang.Thread; 以后重写run()方法。

 *  使用多线程以后,主线程和其余线程是不在同一个栈中的,一个线程对应一个栈。

 *  main方法会自动建立一个主线程,main方法结束只是表明主线程的栈弹空了,没有栈帧了, 可是其余线程的栈中可能还有栈帧,还会继续执行。



  package com.shige.Thread;

  /*
   在java语言中实现多线程的第一种方式, 继承 java.lang.Thread; ,重写run()方法。

   使用多线程以后,主线程和其余线程不在同一个栈中,一个线程对应一个栈,main方法结束只是主线程的栈弹空了,没有栈帧了,可是其余线程的栈中可能还有栈帧,还会继续执行。
   */
  public class ThreadTest0 {
      public static void main(String[] args) {

          //建立线程
          Thread thread=new Processor(); //父类引用指向子类对象


          //启动线程,告诉JVM再分配一个栈给thread线程
          //run()方法不须要手动调用,线程启动后会自动调用
            thread.start();


          //若是直接调用thread.run();方法,那就是普通的调用了一个方法,没有产生新的线程,程序仍是单线程的只有一个主线程,会按程序顺序执行,不会交叉执行了。

         // thread.run();

          //该for循环在主线程中运行
          for (int i = 0; i <10 ; i++) {
              System.out.println("main---->"+i);
              
          }

      }


  }

  //定义一个线程
  class Processor extends Thread{  //继承 java.lang.Thread;

      //重写run()方法,该方法运行在新建立的线程中。
      public void run(){
          for (int i = 0; i < 10; i++) {
              System.out.println("run---->"+i);

          }
      }

  }
相关文章
相关标签/搜索