1. 继承Thread类
2. 实现Runable接口
3. 实现Callable接口
注意run方法本身没有什么特殊的,直接调用程序还是按顺序执行。通过调用线程的start方法才可以启动线程,将线程变为就绪状态,并且使主程序不必等待run函数执行完毕。
共同点,通过实现其中的run方法,就可以在线程启动后对线程进行调用。
不同点,java程序只允许拥有一个父类,但是可以实现多个接口。所以说如果你想实现多线程的类已经继承了一个父类,就只能实现runable接口。
Runable接口可以用来生成Thread对象,Callable接口只能在线程池中调用,Runable接口不具有返回,Callable接口可以具有返回池
网友评论