java之线程实现

时间:2019-02-16
本文章向大家介绍java之线程实现,主要包括java之线程实现使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

java之线程实现

实现方式

  • 继承Thread类;
  • 实现Runnable接口

实现

  • 继承Thread类,必须重写Run()方法;

    class classname extends Thread
    {                       
    run(){};
    }
    
  • 示例代码

    • MYthread

      public class MYthread extends Thread {
      
          private String name;
          public MYthread(String b){
              this.name = b;
          }
      
          public void run(){
              for (int i = 0; i <1000 ; i++) {
                  System.out.println(i+":"+this.name);
              }
          }
      }
      
    • ThreadTest方法

      public class ThreadTest {
          public static void main(String[] args) {
              MYthread mYthread = new MYthread("A");
              MYthread mYthread1 = new MYthread("B");
              mYthread.run();
              mYthread1.run();
              //不会出现交替,完全按照执行完mYthread的run方法,在执行第二个对象的run方法。
              //不是线程机制,而是简单的对象方法
              mYthread.start();
              mYthread1.start();//会出现交替
              //start是线程机制
          }
      }
      

  • 实现Runnable接口方法,这种方法也要复写run方法。

    此种方法,在启动线程时,还是需要借助Thread进行启动,因为你继承Runnable接口的子类中,并没有启动线程的方法;

  • 示例代码

    • myRunnable

      public class myRunnable implements Runnable {
      
          public String string;
      
          public myRunnable(String string) {
              this.string = string;
          }
      
          @Override
          public void run() {
      
              for (int i = 0; i < 1000; i++) {
                  System.out.println(i+":"+this.string);
              }
      
          }
      }
      
    • Mythread

      public class MYthread extends Thread {
      
          private String name;
          public MYthread(String b){
              this.name = b;
          }
      
          public void run(){
              for (int i = 0; i <1000 ; i++) {
                  System.out.println(i+":"+this.name);
              }
          }
      }
      

      会出现交替现象,即线程在交替