继承Thread
优点:可以直接使用Thread类中的方法,代码简单
缺点:继承Thread类之后不能继承其他类
实现Runnable接口
优点:即使自定义类已经有了父类也不受影响,因为可以实现多个接口
缺点:在run方法内部需要获取到当前线程的Thread对象后才能使用thread中的方法
实现Callable接口
优点:可以获取返回值,可以抛出异常
缺点:代码编写比较复杂
继承Thread
优点:可以直接使用Thread类中的方法,代码简单
缺点:继承Thread类之后不能继承其他类
实现Runnable接口
优点:即使自定义类已经有了父类也不受影响,因为可以实现多个接口
缺点:在run方法内部需要获取到当前线程的Thread对象后才能使用thread中的方法
实现Callable接口
优点:可以获取返回值,可以抛出异常
缺点:代码编写比较复杂