一:继承Thread方式
class A extends Thread { }
启动线程
new A().start();
二:实现Runnable方式
class B implements Runnable { }
启动线程
new Thread(new B()).start();
三:Lamda表达式
new Thread(()->{
}) .start();
四:实现Callable接口方式
public static void main(String[] args) throws ExecutionException, InterruptedException {
ExecutorService service = Executors.newFixedThreadPool(3);
Callable<String> callable = new Callable<String>() {
@Override
public String call() throws Exception {
return Thread.currentThread().getName();
}
};
Future<String> submit = service.submit(callable);
System.out.println(submit.get());
}
说明:这种方式比较Thread和Runnable可以有返回值。
五:启动线程的三种方式
- 继承Thread
- 实现Runnable接口
- Executors.newCachedThread 线程池
版权声明:本文为qq_41863697原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。