What is the primary advantage of using a CompletableFuture in Java?
CompletableFuture
It ensures thread safety without explicit locks
It automatically cancels long-running tasks
It allows for non-blocking asynchronous task execution
It simplifies error handling in multithreading