①继承Thread类创建线程
Thread类代表线程,代表线程的类可以通过继承Thread类,并重写run()方法,调用线程类实例的start方法来启动线程。
②实现Runnable接口创建线程
调用Thread的构造方法来创建Thread。
③实现Callable接口通过FutureTask包装器来创建Thread线程
import java.util.concurrent.Callable;
import java.lang.String;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
/**
* 如何新建线程
*
public class NewThread {
/*继承Thread类*/
private static class UserThread extends Thread{
@Override
public void run() {
System.out.println("I am extend Thread !");
}
}
/*实现Runnable接口*/
private static class UserRunnable implements Runnable{
@Override
public void run() {
System.out.println("I am implements Runnable !");
}
}
/*实现Callable接口*/
private static class UserCallable implements Callable<String> {
@Override
public String call() throws Exception {
System.out.println("I am implements Callable !");
return "callResult";
}
}
public static void main(String [] args) throws ExecutionException, InterruptedException {
Thread userThread = new UserThread();
userThread.start();
Thread userRunnable = new Thread(new UserRunnable());
userRunnable.start();
FutureTask<String> futureTask = new FutureTask<>(new UserCallable());
Thread userCallable = new Thread(futureTask);
userCallable.start();
System.out.println(futureTask.get());
}
}
本文详细介绍了在Java中创建线程的三种主要方法:继承Thread类、实现Runnable接口以及实现Callable接口并通过FutureTask包装器。每种方法都有其特定的使用场景和优势,文章通过代码示例展示了如何具体实现。
714

被折叠的 条评论
为什么被折叠?



