Цены на Paypal Payout API

Использование Future, описанное в приведенных выше ответах, выполняет задание, но немного менее существенно, как f.get (), блокирует поток до получения результата, что нарушает параллелизм.

Лучшее решение - использовать ListenableFuture от Guava. Пример:

    ListenableFuture<Void> future = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(1, new NamedThreadFactory).submit(new Callable<Void>()
    {
        @Override
        public Void call() throws Exception
        {
            someBackgroundTask();
        }
    });
    Futures.addCallback(future, new FutureCallback<Long>()
    {
        @Override
        public void onSuccess(Long result)
        {
            doSomething();
        }

        @Override
        public void onFailure(Throwable t)
        {

        }
    };
0
задан Amit Khanna 18 January 2019 в 06:00
поделиться