sendAsync frees the calling thread by initiating non-blocking HTTP requests.
Using HttpClient's sendAsync method allows your program to continue executing other tasks while waiting for the HTTP response. This is achieved by using non-blocking I/O, which means the calling thread is not held up by the HTTP request. For example, in an e-commerce application, you can send requests to multiple shipping APIs simultaneously without waiting for each request to complete in sequence.
Additional Notes
How does sendAsync free up resources in a Java program?