A goiaba fornece muitas extensões úteis para o futuro da programação paralela de Java, sua principal interface é o ouvido e se estende estaticamente com a ajuda de futuros.
O ListenableFuture herdado para o futuro nos permite adicionar uma função de retorno de chamada para retornar o valor quando a operação do encadeamento é concluída ou a execução do método é retornada imediatamente.
Adicione uma função de retorno de chamada ao ListenableFuture:
Futures.AddCallback (ListenableFuture <V>, FutureCallback <V>, Executor)
Onde o FutureCallback é uma interface contendo Onsuccess (V) e OnFailure (jogável).
Usado da seguinte maneira:
Futures.AddCallback (ListenableFuture, new FutureCallback <ject> () {public void onSuccess (resultado do objeto) {System.out.printf ("Onsuccess com: %s %n", resultado); }});Ao mesmo tempo, o futuro em goiaba também possui:
Abaixo está uma demonstração de teste para o futuro:
@Testpublic void deve_test_furture () lança exceção {auditionExecutorService Service = maisexecutores.ListeningDecorator (executores.newfixedthreadpool (10)); Ouvidofuture futuro1 = service.subMit (novo Callable <Teger> () {public Integer Call () lança interruptedException {thread.sleep (1000); System.out.println ("Ligue para o futuro 1."); retornar 1;}}); Escutafuture futuro2 = service.submit (novo callable <Teger> () {public integer Call () lança interruptedException {thread.sleep (1000); system.out.println ("ligue para o futuro 2."); // lança a nova execução ("------Future 2."); Return 2; final ouvidofuture allfuture = Futures.allasList (Future1, Future2); Final outaableFuture transform = Futures.Transform (Allfutures, New ASYNCFUNCTION <LISTA <TEGER>, Boolean> () {@Override public ListenableFuture Aplicar (List <Teger> Results) lança exceção {returs.Irt Futures.immediateFuture (String.Format ("SUCCEST):%d",, resultado (resultado); Futures.AddCallback (transform, novo FutureCallback <ject> () {public void onSuccess (resultado do objeto) {System.out.println (resultado.getClass ()); System.out.printf ("sucessão com:%s%n", resultado);} public onfilure (throwrwn) {system. jogado.getMessage ()); System.out.println (transform.get ());}Informações oficiais Página inicial: https://awk.so/@code.google.com!/p/guava-libraries/wiki/ListenableFutureExlained
O exposto acima está a informação que classifica a goiaba - futuros de programação paralela. Continuaremos a adicionar informações relevantes no futuro. Obrigado pelo seu apoio a este site!