Thread和Runnable有什么不同
时间: 2023-06-02 21:04:12 浏览: 100
Thread和Runnable是Java中用于实现多线程的两种方式。Thread是一个类,可以直接继承该类并实现run方法来创建线程;而Runnable是一个接口,需要创建一个实现了该接口的类并实现run方法,并将该类作为参数传递给Thread类的构造函数来创建线程。使用Runnable可以避免单继承的限制,提高代码的灵活性和可重用性。
相关问题
Thread和Runnable有什么不同?
Thread和Runnable都是Java中用于实现多线程的接口,它们的主要区别在于:
1. Thread是一个类,而Runnable是一个接口。因此,如果要使用Thread来创建线程,则需要继承Thread类并重写run()方法;如果要使用Runnable来创建线程,则需要实现Runnable接口并实现run()方法。
2. 由于Java中只支持单继承,如果使用Thread来创建线程,则在继承Thread类的同时,就不能再继承其他的类。而使用Runnable则可以避免这个问题,因为实现Runnable接口并不影响继承其他类。
3. Thread类本身就实现了Runnable接口,因此可以将一个Thread对象作为一个Runnable对象来使用,而Runnable对象则不能直接作为Thread对象来使用。
4. 使用Runnable创建的线程可以共享一个线程池中的线程,从而节约系统资源。而使用Thread创建的线程则不可以共享线程池,每个线程都会占用一个系统资源。
thread和runnable有什么区别
Thread 和 Runnable 都可以用来实现多线程,但有一些区别。Thread 是一个类,可以继承自定义线程类,实现 run 方法来编写线程代码;而 Runnable 是一个接口,可以实现 Runnable 接口,然后将其传递给 Thread 类的构造方法来创建线程。另外,一个类只能继承一个类,但却可以实现多个接口,所以使用 Runnable 接口可以使得类有更好的可扩展性和代码复用性。
阅读全文