下文笔者讲述多线程的实现中,Thread方式和Runnable方式的优缺点简介说明,如下所示
多线程简介说明
我们都知道多线程的实现方式有:
继承Thread类创建线程的方式
和
实现Runnable接口的方式创建线程
那么他们之间有什么优点和缺点呢?下文笔者将一一道来,如下所示
继承Thread类多线程优缺点
优点:
编写简单
如果需要访问当前线程,无需使用Thread.currentThread()方法,
直接使用this,即可获得当前线程
缺点:
因为线程类已经继承了Thread类
所以不能再继承其他的父类
实现Runnable接口多线程方式的优点及缺点
优点:
线程类只是实现Runable接口
还可以继承其他的类。
在这种方式下,可以多个线程共享同一个目标对象,
所以非常适合多个相同线程来处理同一份资源的情况,
从而可以将CPU代码和数据分开,形成清晰的模型,较好地体现了面向对象的思想
缺点:
编程稍微复杂
如果需要访问当前线程,必须使用Thread.currentThread()方法
注意事项:
Runable没有返回值
run()方法返回类型为void
Callable方法有返回值
call()方法返回类型为泛型和Future、FutureTask配合使用可以获取方法返回值
Callable的call()方法允许向上抛出异常
Runable的run()方法不允许向上抛出异常,异常需在方法内部处理
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


