使用Callable和Future创建线程

来源:互联网 发布:知乎 平面设计提高 编辑:程序博客网 时间:2024/06/04 18:10
import java.util.concurrent.Callable;import java.util.concurrent.FutureTask;public class TestThread {public static void main(String[] args){TestThread rt=new TestThread();FutureTask<Integer> task=new FutureTask<Integer>( (Callable<Integer>)//FutuereTask类是Future接口的一个实现类()->{int i=0;for(;i<100;++i){System.out.println(Thread.currentThread().getName()+"  "+i);}return i;});for(int i=0;i<100;++i){System.out.println(Thread.currentThread().getName()+"-----------"+i);//if(i==20){new Thread(task,"有返回值的线程").start();}}try{System.out.println("子线程的返回值"+task.get());}catch(Exception e){e.printStackTrace();}}}/*观察到每次运行程序 线程并不是马上启动 启动后的执行顺序也并不完全一样在线程结束后会返回返回值*/

原创粉丝点击