1.继承Thread类型重写run 方法
public class ThreadDemoTest extends Thread{
@Override
public void run() {
System.out.println("通过继承Thread类重写run方法实现接口!");
}
public static void main(String[] args) {
ThreadDemoTest threadDemoTest = new ThreadDemoTest();
threadDemoTest.run();
}
}
2.实现Runnable接口
public class RunnableDemoTest implements Runnable{
public void run() {
System.out.println("实现Runnable开启线程!");
}
public static void main(String[] args) {
Thread thread = new Thread(new RunnableDemoTest());
thread.start();
}
}
3.实现Callable接口
public class CallableDemoTest implements Callable {
public Object call() {
return "HelloCallable!";
}
@Test
public void test() throws ExecutionException, InterruptedException {
CallableDemoTest callableDemoTest = new CallableDemoTest();
FutureTask futureTask = new FutureTask(callableDemoTest);
Thread thread = new Thread(futureTask);
thread.start();
//获取返回值
futureTask.get();
}
}