Java线程启动的方式
Java线程启动有三种基本的方式:Thread类创建线程并启动、使用 Runnable 与 Thread、使用 FutureTask 与 Thread
直接使用Thread类创建线程并启动
new Thread("Direct-Thread") { @Override public void run() { log.info("Hello World By Titan"); } }.start();
这种方式可以将线程(Thread)与任务(要执行的代码)分开
Runnable runnable = () -> log.info("Hello World By Titan"); Thread t = new Thread(runnable,"Runnable-Thread"); t.start();
使用 FutureTask 与 Thread
FutureTask 能够接收 Callable 类型的参数,用来处理有返回结果的情况
// 创建一个具有Integer返回值的FutureTask对象 FutureTask<Integer> task = new FutureTask<>(() -> { log.info("Hello World By Titan"); return 666; }); // 创建线程,参数1为任务对象,并启动 Thread t = new Thread(task, "FutureTask-Thread"); t.start(); // 获取结果 Integer result = task.get(); log.info("Future Task Result = {}", result);
文章评论