1.避免了继承Thread类的单继承的局限性。 2.Runable接口出现更符合面向对象,将线程单独进行对象的封装。 3.Runnable接口出现,降低了线程对象和线程任务的耦合性。所以创建线程的方式都使用Runnable接口。