Java中创建Thread的方式-Java中Thread类的使用

1.    前言

线程与进程的理解详见:https://blog.csdn.net/qq_38969070/article/details/80424079

多线程处理(Multithreaded execution)是Java平台的基本特征:

(1)    每个应用至少有一个线程。

(2)    从程序员的角度来看,你在应用中开始时,应该只有一个线程,

             称之为主线程(main thread),该主线程可以创建其他的线程。

使用多线程的好处:在多核处理器上运行更快,效率更高,是Java的生命所在。

"In Java, threads are a fact of life."

2.    创建一个线程的方法:

主要有两种,一是从Thread类中派生出子类(使用较少),

另一种是从Runnable接口构造Thread对象(通常使用)。

(1)    方法一:从Thread类派生

  由于Thread类本身即实现了接口Runnable,只是其run方法没有任何功能,

  因此我们只需要继承Thread,重写自己的run()方法即可。

  实例如下:

public class HelloThread extends Thread {
  public void run() {
    System.out.println("Hello from a thread");
  }
  public static void main(String[] args) {
    HelloThread p = new HelloThread();
    p.start();
  }
}

(2)    方法二:提供一个Runnable对象

   由于Runnable接口只有一个方法-run(),因此继承该接口,实现run()方法,

   再将其作为参数传递给Thread的构造器即可。

   实例如下:

public class HelloRunnable implements Runnable{
  
  public void run() { 
    System.out.println("Hello from a thread!"); 
  }
  public static void main(String args[]) { 
    (new Thread(new HelloRunnable())).start(); 
  }

}
   

3.    易混淆之处

(1)    对Runnable与Thread应加以区别。

  例:理解Runnable和Thread的方法和意义


(2)    不使用start()方法,线程是不能运行的。

  例:创建一下三个线程


只有前两个线程会运行,因此只打印前两个字符串。


猜你喜欢

转载自blog.csdn.net/qq_38969070/article/details/80426457