Tôi đã thực hiện đăng ký trong ứng dụng Java của mình. Khi thuê bao mới được bổ sung, các ứng dụng tạo ra nhiệm vụ mới (lớp mà thực hiện Runnable
được chạy trong thread riêng biệt) và nó sẽ được thêm vào ExecutorService
như:Dừng một Runnable được gửi đến ExecutorService
public void Subscribe()
{
es_.execute(new Subscriber(this, queueName, handler));
}
//...
private ExecutorService es_;
Ứng dụng có thể đăng ký nhiều thuê bao như bạn muốn. Bây giờ tôi muốn thực hiện một cái gì đó như Unsubscribe
vì vậy mỗi thuê bao có khả năng ngăn chặn luồng thông điệp. Ở đây tôi cần một cách để ngăn chặn một trong các nhiệm vụ đang chạy trong ExecutorService
. Nhưng tôi không biết làm thế nào tôi có thể làm điều này.
ExecutorService.shutdown()
và các biến thể của nó không dành cho tôi: chúng chấm dứt tất cả các tác vụ, tôi chỉ muốn chấm dứt một trong số chúng. Tôi đang tìm kiếm một giải pháp. Đơn giản nhất có thể. Cảm ơn.
Sẽ hữu ích nếu bạn chỉnh sửa câu trả lời của mình để thêm ví dụ đơn giản. Tôi có thể tìm thấy tất cả những thứ trong tài liệu và google, nhưng câu trả lời không chỉ dành cho tôi mà còn cho những người khác nữa. Điều này có thể tiết kiệm thời gian (vô giá). – maverik
Ở đây bạn đi, ví dụ đơn giản –
Cảm ơn. Điều này thực sự hữu ích. – maverik