概念比较:Thread与Task

在core java中,Thread 类是实实在在有的;而Task没有,但是这个概念却经常用到,并且与Thread经常混在一起。

所以,在这里,谈谈我对这两者之间的一些理解。

我认为:

1、Task就是商业逻辑,对于这个商业逻辑我们可以在一个Runable实例中的run()方法中定义,或者在Callable实例中的call()。

(至于他们两者的不同,可以参考我转载的另外一篇博文:Callable和Runnable)

2、Thread可以理解成实际工作的单元,是可以被重复使用的。这个在core java的api中是有的。

最后,允许我打一个不太恰当的比喻:

不知道大家有没去过订做家具?如果有的话,应该可以更加容易理解我的想法:

Thread就是一个家具工匠,Task就是客人自定义的设计图纸。

另外,如果还有疑问,不妨可以参考一下我与一些老外就这个问题的讨论:

what is the relationship of thread and task?






你可能感兴趣的:(概念比较:Thread与Task)