//继承Thread
class TestThread extends Thread{
//重写run()
@Override
public void run() {
//super.run();使用父类的run()方法,如果不需要,去掉则执行子类的run()方法
//需执行的任务逻辑
}
}
public class TestDemo {
public static void main(String[] str){
//启动线程对象
TestThread testThread = new TestThread();
//启动线程
testThread.start();
2、实现runnable
实现runnable
重写run()方法
启动线程(new Thread(线程对象).start())
建议使用(避免了单继承的局限性,方便一个线程多个对象使用)
//实现Runnable
class TestThread implements Runnable{
//重写run()方法
@Override
public synchronized void run() {
//需执行的任务逻辑
}
}
public class TestDemo {
public static void main(String[] str){
//创建线程对象
TestThread testThread = new TestThread();
//启动线程
new Thread(testThread).start();
new Thread(testThread).start();
new Thread(testThread).start();
}
}
3、实现callable
实现callable接口
重写call方法
创建线程对象
创建执行服务:ExecutorService s = Executors.newFixedThreadPool(1);