Trong Android, để xử lý đa luồng hiệu quả nhờ các lớp của Java Concurrency, bạn nên sử dụng lớp nào?
Đáp án đúng: A
ThreadPoolExecutor, ExecutorService, FutureTask và Callable đều là các lớp hữu ích trong Java Concurrency để xử lý đa luồng. Tuy nhiên, để xử lý đa luồng một cách hiệu quả nhất, đặc biệt trong môi trường Android, bạn nên sử dụng ThreadPoolExecutor hoặc ExecutorService.
ThreadPoolExecutor là một triển khai của ExecutorService, cung cấp nhiều tùy chọn cấu hình hơn để quản lý các luồng trong pool. Nó cho phép bạn kiểm soát số lượng luồng tối thiểu và tối đa, thời gian chờ khi không có tác vụ, và cách xử lý các tác vụ bị từ chối.
ExecutorService là một interface cung cấp các phương thức để thực thi các tác vụ một cách bất đồng bộ. Nó cho phép bạn gửi các tác vụ để thực thi và nhận lại kết quả thông qua Future.
FutureTask là một lớp triển khai Future, cho phép bạn theo dõi tiến trình và kết quả của một tác vụ đang chạy.
Callable là một interface tương tự như Runnable, nhưng nó có thể trả về một giá trị và ném ra một exception.
Trong bối cảnh Android, việc sử dụng ThreadPoolExecutor hoặc ExecutorService là lựa chọn tốt nhất để quản lý và tái sử dụng các luồng, giúp giảm overhead và cải thiện hiệu suất ứng dụng. Do đó, **ThreadPoolExecutor** có nhiều ưu điểm hơn và phù hợp hơn để xử lý đa luồng hiệu quả.