1、直接继承Thread类
继承Thread类创建线程2、实现Runnable接口
实现Runnable创建线程3、实现Callable接口,配合FutureTask
实现Callable接口创建线程三种创建线程方式的优缺点:
1、由于Java的单继承特性,如若线程类需要继承其他类,则不能再继承Thread类,这时可以通过实现Runnable接口或者Callable接口来创建线程类。
2、如果需要一个明确的返回值,则通过实现Callable接口来创建线程类。
3、通过继承Thread类创建线程代码简单,并且在类内部可以通过this获取到当前线程的引用。而在实现Runnable或者Callable接口的类中只能通过Thread.currentThread()获取到当前运行的线程对象。
网友评论