Callable_ realize multithreading

package CallableDemo;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

public class Demo01 {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        MyThread myThread = new MyThread();
        FutureTask futureTask = new FutureTask(myThread);
        new Thread(futureTask,"AS").start();//结果会被缓存,
        new Thread(futureTask,"A").start();//结果会被缓存,

        String o = (String) futureTask.get();//get会产生阻塞,放最后
        System.out.println(o);
    }
}
class MyThread implements Callable<String>{

    @Override
    public String call()  {
        System.out.println("calling.......");
        return "123";
    }
}

Insert picture description here

Insert picture description here

Guess you like

Origin blog.csdn.net/qq_43141726/article/details/114289443