有两种方法可以创建新的执行线程。一种是将一个类声明为Thread类的子类。该子类应重写Thread类的run方法。然后可以分配并启动子类的实例。
创建线程的另一种方法是声明一个实现Runnable接口的类。然后,该类实现run方法。然后可以分配该类的实例,在创建Thread时将其作为参数传递并启动。
每个线程都有一个名称供识别。一个以上的线程可能具有相同的名称。如果在创建线程时未指定名称,则会为其生成一个新名称。
| 序号 | 键 | 线 | 可运行 |
|---|---|---|---|
| 1 | 基本的 | 线程是一个类。用于创建线程 | Runnable是一个功能接口,用于创建线程 |
| 2 | 方法 | 它有多种方法,包括start()和run() | 它只有抽象方法 run() |
| 3 | 每个线程创建一个唯一的对象并与之关联 | 多个线程共享相同的对象。 | |
| 4 | 记忆 | 需要更多内存 | 所需的内存更少 |
| 5 | 局限性 | Java中不允许多重继承,因此在一个类扩展Thread类之后,它不能扩展任何其他类 | 如果一个类正在实现可运行的接口,则您的类可以扩展另一个类。 |
class RunnableExample implements Runnable{
public void run(){
System.out.println("Thread is running for Runnable Implementation");
}
public static void main(String args[]){
RunnableExample runnable=new RunnableExample();
Thread t1 =new Thread(runnable);
t1.start();
}
}class ThreadExample extends Thread{
public void run(){
System.out.println("Thread is running");
}
public static void main(String args[]){
ThreadExample t1=new ThreadExample ();
t1.start();
}
}