java中创建线程

Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用三种方式来创建线程,如下所示:

1、继承Thread类创建线程
定义Thread类的子类,并重写该类的run()方法,创建Thread子类的实例,调用线程的start()方法启动线程。

2、实现Runnable接口创建线程
定义Runnable接口的实现类,重写run()方法,创建Runnable实现类的实例,并用这个实例作为Thread的target来创建Thread对象,调用线程对象的start()方法来启动线程。

3、使用Callable和Future创建线程

三种创建线程方法对比
实现Runnable和实现Callable接口的方式基本相同,不过是后者执行call()方法有返回值,前者线程执行体run()方法无返回值,可以把这两种方式归为一种。这种方式与继承Thread类的方法之间的差别如下:
1、线程只是实现Runnable或实现Callable接口,还可以继承其他类。
2、多个线程可以共享一个target对象,非常适合多线程处理同一份资源的情形。
3、继承Thread类的线程类不能再继承其他父类(Java单继承决定)。

猜你喜欢

转载自blog.csdn.net/edwardnb/article/details/85094258