1.继承Thread类,重写run()方法 2.实现Runnable接口,重写run()方法 3.实现Callable接口,重写call()方法 使用多线程时,推荐使用方法2,原因:写类时,能不继承就不继承。