Module life.expert

Class ConcurrentTrampoliningMemoizer<T,​R>

  • Type Parameters:
    T - the type parameter
    R - the type parameter

    public class ConcurrentTrampoliningMemoizer<T,​R>
    extends java.lang.Object
     * The type Concurrent trampolining memoizer.
    
     Preconditions: none
     Postconditions: none
     Side effects: create trhead
     Tread safety: Not thread-safe
    
     
    See Also:
    "http://sebastian-millies.blogspot.de/2016/05/concurrent-recursive-function.html"
    • Constructor Summary

      Constructors 
      Constructor Description
      ConcurrentTrampoliningMemoizer​(java.util.concurrent.ConcurrentMap<T,​java.util.concurrent.CompletableFuture<R>> cache)
      Instantiates a new Concurrent trampolining memoizer.
    • Method Summary

      Modifier and Type Method Description
      java.util.function.Function<T,​java.util.concurrent.CompletableFuture<R>> memoize​(java.util.function.Function<T,​java.util.concurrent.CompletableFuture<R>> f)
      Memoize function.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConcurrentTrampoliningMemoizer

        public ConcurrentTrampoliningMemoizer​(java.util.concurrent.ConcurrentMap<T,​java.util.concurrent.CompletableFuture<R>> cache)
        Instantiates a new Concurrent trampolining memoizer.
        Parameters:
        cache - the cache
    • Method Detail

      • memoize

        public java.util.function.Function<T,​java.util.concurrent.CompletableFuture<R>> memoize​(java.util.function.Function<T,​java.util.concurrent.CompletableFuture<R>> f)
        Memoize function.
        Parameters:
        f - the f
        Returns:
        the function