创建线程的两种方法中一种是继承Thread类,一种是实现Runnable接口,这两种方法,从实现与性能来说都没有什么区别,只是后一种方法经常被使用而已。那么为什么人们又喜欢用后一种呢? 我们可以从设计思想来思考这个问题。当我们要执行某一种任务时,我们应该对我们要执行的任务进行一种包装,就是java中的封装。我们将它封装成一种对象。,那么当我们采用一种线程的方式来运行我们的任务时,我们是直接将我们的任务给线程运行呢,还是将封装了任务的对象传递给线程呢。如果我们将一个对象传递给线程运行,那么这就与我们的面向对象思想想通了。而如果我们将我们的任务直接传递给线程去执行,当然也可以执行,但是如果我们的任务以后有了一点小的改动,那么我们就必须进入我们的线程进行改动。但是如果我们将任务对象传递进去,那么我们就可以直接进入那个任务对象进行改变。 你说那种方法好呢 |