• 新版网站前后台即将上线,2019年将致力于提高文章质量,加大原创力度,打造一个更加舒适的阅读体验!
  • 极客文库小编@勤劳的小蚂蚁,为您推荐每日资讯,欢迎关注!
  • 新版网站前后台即将上线,2019年将致力于提高文章质量,加大原创力度,打造一个更加舒适的阅读体验!
  • 如果有任何体验不佳的地方,欢迎向客服反馈!

实现java多线程的3种方式,99%人没用过第3种



实现多线程的 3 种方式

1、继承 Thread 类

看 jdk 源码可以发现,Thread 类其实是实现了 Runnable 接口的一个实例,继承 Thread 类后需要重写 run 方法并通过 start 方法启动线程。

继承 Thread 类耦合性太强了,因为 java 只能单继承,所以不利于扩展。

2、实现 Runnable 接口

通过实现 Runnable 接口并重写 run 方法,并把 Runnable 实例传给 Thread 对象,Thread 的 start 方法调用 run 方法再通过调用 Runnable 实例的 run 方法启动线程。

所以如果一个类继承了另外一个父类,此时要实现多线程就不能通过继承 Thread 的类实现。

3、实现 Callable 接口

通过实现 Callable 接口并重写 call 方法,并把 Callable 实例传给 FutureTask 对象,再把 FutureTask 对象传给 Thread 对象。它与 Thread、Runnable 最大的不同是 Callable 能返回一个异步处理的结果 Future 对象并能抛出异常,而其他两种不能。

示例代码


结果输出:

Thread1 running…
Thread2 running…
Thread3 running…
name:java,age:22


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:实现 java 多线程的 3 种方式,99%人没用过第 3 种
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

欢迎 注册账号 登录 发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00