有两种方法可以创建新的执行线程。一种是将一个类声明为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(); } }