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);

          }
      }

  }
上一篇:Day12_68_中止线程


下一篇:自学C day12-指针和字符串