Khi tiếp tục với số question được đăng bởi tôi, tôi đang cố gắng sử dụng ThreadPoolExecutor trong codebase của mình. Ngay cả sau khi lặp đi lặp lại những nỗ lực để hiểu từ tài liệu API Java, tôi đã không hiểu rõ chức năng/mục đích đằng sau thông số keepAliveTime
được truyền trong hàm tạo. Hy vọng ai đó có thể giải thích cho tôi với một số ví dụ làm việc tốt.Keep-alive hoạt động như thế nào với ThreadPoolExecutor?
Trích từ Java doc:
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue)
keepAliveTime
- khi số lượng các chủ đề lớn hơn cốt lõi, đây là thời gian tối đa mà chủ đề nhàn rỗi dư thừa sẽ chờ đợi cho các nhiệm vụ mới trước khi chấm dứt.
Cũng giống như một điểm của thuật ngữ, bạn đã hai lần sử dụng từ "thực hiện" khi tôi nghĩ rằng bạn chỉ có nghĩa là "sử dụng". Bạn không cố gắng * thực hiện * 'ThreadPoolExecutor' bằng cách viết mã của riêng bạn thực hiện API đó - bạn chỉ đang tạo một' ThreadPoolExecutor' và bạn muốn biết nó sẽ hoạt động như thế nào, đúng không? –
Vâng, bạn nói đúng. Tôi chỉ sử dụng để có nghĩa rằng nó là một loại mới của việc thực hiện trong codebase của tôi. – Gnanam
Nhưng nó không phải là một thực hiện * của * 'ThreadPoolExecutor'. Nó thực sự hữu ích nếu bạn có thể sử dụng thuật ngữ một cách thích hợp - * đặc biệt * trên Stack Overflow. –