-
1. 创建 Callable 接口的实现类,并实现 call() 方法,该 call() 方法将作为线程执行体,并且有返回值。
-
2. 创建 Callable 实现类的实例,使用 FutureTask 类来包装 Callable 对象,该 FutureTask 对象封装了该 Callable 对象的 call() 方法的返回值。
-
3. 使用 FutureTask 对象作为 Thread 对象的 target 创建并启动新线程。
-
4. 调用 FutureTask 对象的 get() 方法来获得子线程执行结束后的返回值。
-
上代码
package com.thread.test; import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; //泛型(集合框架 多线程) public class CallableTest implements Callable<String> { private String name; //无参构造 public CallableTest(){} public CallableTest(String name){ this.name=name; } //重写call方法 @Override public String call() throws Exception { // System.out.print(name); return name; } public static void main(String[] args) throws Exception{ //创建Callable的子类对象 CallableTest t=new CallableTest("线程one"); CallableTest t1=new CallableTest("线程two");
通过 Callable 和 Future 创建线程(1~100累加的和:)
最新推荐文章于 2024-04-16 07:56:17 发布