首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java多线程编程

Java多线程编程
EN

Stack Overflow用户
提问于 2014-03-15 02:39:37
回答 4查看 254关注 0票数 0

在Java语言中有两种创建线程的方法,一种是通过实现“Runnable”,另一种是通过扩展“thread”类。在我正在读的书中(赫伯特·斯奇尔特),书中写道,实现'Runnable‘接口更好,他们已经适时地提供了理由,但我不能理解。谁能解释一下为什么在java中有两种创建线程的方法,为什么实现接口是更好的解决方案?

EN

回答 4

Stack Overflow用户

发布于 2014-03-15 02:42:06

使用Runnable更好,特别是考虑到Java支持匿名临时类。从Thread继承是很麻烦的。

这本书有点过时了。还有第三种方法:使用Callable代替。这允许您指定异常并具有返回类型。

简而言之,您向executor提交一个Callable,后者将返回一个Future。然后,您可以使用该未来来检查线程的返回值。

票数 1
EN

Stack Overflow用户

发布于 2014-03-15 02:43:14

实现Runnable允许更松散的耦合,这是一个很好的设计模式。相关(如果不是重复):"implements Runnable" vs. "extends Thread"

票数 1
EN

Stack Overflow用户

发布于 2014-03-15 02:44:53

与extending.You相比,实现一个接口是一个很好的实践,它可以实现任意数量的接口,并且只能扩展一个class.This。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22413183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档