从另一个方法调用异步方法而不等待/阻塞

时间:2015-08-13 05:03:39

标签: java asynchronous concurrency

我有一个由客户端调用的Web服务。

public class MyWebServiceClass {
    public int myMethod() {
        myAsyncMethodInAnotherClass();
        return 2;
    }
}

我有另一个是acync的类,这个类有方法

public void myAsyncMethodInAnotherClass() throws InterruptedException, ExecutionException {
    final Receiver receiver = new Receiver(); 
    ExecutorService executorService = Executors.newFixedThreadPool(10);

    Future future = executorService.submit(new Runnable() {
        public void run() {
            System.out.println("Asynchronous task");
            receiver.doSomeThingElse();
        }
    }); 

    executorService.shutdown();
}

我希望myMethod()内的MyWebServiceClass应该返回2到客户端,而不必等待myAsyncMethodInAnotherClass()内的进程。虽然我创建了executorService,但它仍然在等待方法完成才返回2。

0 个答案:

没有答案