Callable 线程并发实例:
package com.huange.thread.demo;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
public class Demo {
/**
* Callalbe和Runnable的区别
*
* Runnable run方法是被线程调用的,在run方法是异步执行的
*
* Callable的call方法,不是异步执行的,是由Future的run方法调用的
*
*
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
Callable<Integer> call = new Callable<Integer>() {
@Override
public Integer call() throws Exception {
System.out.println("正在计算结果...");
Thread.sleep(3000);
return 22;
}
};
FutureTask<Integer> task = new FutureTask<>(call);
Thread thread = new Thread(task);
thread.start();
// do something
System.out.println(" 干点别的...");
Integer result = task.get();
System.out.println("拿到的结果为:" + result);
}
}
最后
以上就是怕孤单楼房最近收集整理的关于java 并发编程之callable详解的全部内容,更多相关java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复