JDK 5.0 新增的创建线程的方式三
重点:
1、实现callable 接口
2、FutureTask 理解
3、栗子:
package Work_ZQ3;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
/**
- 创建多线程的方式三:实现callable 接口。
*/
//1、 创建一个实现callable的实现类
class NumThread implements Callable {
//2、实现call 方法,将此线程需要执行的操作声明在call 中
@Override
public Object call() throws Exception {
int sum =0;
for (int i=1;i<=100;i++){
if (i%2==0){
System.out.println(“当前线程的数为:”+ i);
sum +=i;
}
}
return sum;
}
}
public class ThreadNew {
public static void main(String[] args) {
// 3、创建callable 接口实现类的对象
NumThread numThread = new NumThread();
// 4、将此callable 接口实现类的对象作为传递到FutureTask构造器中,创建FutureTask的对象
FutureTask futureTask =new FutureTask(numThread);
// 5、将futureTask的对象作为参数传递到Threa类的构造器中,创建Thread 类,并启动线程。
new Thread(futureTask).start();
try {
//get()返回值即为futureTask构造器参数callable实现类重写的call() 返回值。。。
Object sum = futureTask.get();
System.out.println(“当前总和为:” + sum);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”
一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
【转载注明出处,还望尊重原创 】