Chapter 8. The Asynchronous API
		In addition to synchronous API methods, Red Hat JBoss Data Grid also offers an asynchronous API that provides the same functionality in a non-blocking fashion.
	
		The asynchronous method naming convention is similar to their synchronous counterparts, with 
Async appended to each method name. Asynchronous methods return a Future that contains the result of the operation.
	
		For example, in a cache parameterized as 
Cache(String, String), Cache.put(String key, String value) returns a String, while Cache.putAsync(String key, String value) returns a Future(String).
	8.1. Asynchronous API Benefits Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
		The asynchronous API does not block, which provides multiple benefits, such as:
	
- The guarantee of synchronous communication, with the added ability to handle failures and exceptions.
 - Not being required to block a thread's operations until the call completes.
 
		These benefits allow you to better harness the parallelism in your system, for example:
	
Set<Future<?>> futures = new HashSet<Future<?>>();
futures.add(cache.putAsync("key1", "value1"));
futures.add(cache.putAsync("key2", "value2"));
futures.add(cache.putAsync("key3", "value3"));
Set<Future<?>> futures = new HashSet<Future<?>>();
futures.add(cache.putAsync("key1", "value1"));
futures.add(cache.putAsync("key2", "value2"));
futures.add(cache.putAsync("key3", "value3"));
		In the example, The following lines do not block the thread as they execute:
	
futures.add(cache.putAsync(key1, value1));futures.add(cache.putAsync(key2, value2));futures.add(cache.putAsync(key3, value3));
		The remote calls from the three put operations are executed in parallel. This is particularly useful when executed in distributed mode.