1.新建一个类继承自Thread,并重写run()方法,并在里面编写耗时逻辑。

class ThreadTest extends Thread {
        @Override
        public void run() {
            //具体的耗时逻辑代码
        }
    }
    new ThreadTest().start();//启动线程

2.实现Runnable接口。

class ThreadTest implements Runnable {
        @Override
        public void run() {
            //具体耗时逻辑
        }
    }
    ThreadTest threadTest = new ThreadTest();
    new Thread(threadTest).start();//启动线程

3.使用匿名内部类。

new Thread(new Runnable() {
            @Override
            public void run() {
				//耗时逻辑
            }
        }).start();//启动线程

总结

使用继承的方式耦合性有点高,更多的时候我们选择实现Runnable接口来创建一个线程,使用匿名内部类的写法更为常见。