Các toán tử thường được sử dụng khi nói đến các nhiệm vụ (ngắn hạn), nhưng cách tốt nhất để xử lý các tác vụ dài hạn, ví dụ: nhiệm vụ nào sẽ chạy trong suốt thời gian tồn tại của một ứng dụng?Làm cách nào để thực thi các tác vụ lâu dài?
Giả sử tôi có một ứng dụng trong đó tác vụ chạy trên một chuỗi riêng lẻ sẽ thăm dò một thư mục để thay đổi mỗi X giây. Nhiệm vụ này không bao giờ nên bỏ phiếu, trừ khi ứng dụng thoát. Làm cách nào để tôi bắt đầu và quản lý việc này?
Liệu new Thread(theLongRunningTask).start()
có phải là một lựa chọn tồi không?
Thay vì threadfactory + daemon, bạn có thể tắt máy thực thi khi thoát (giả sử các tác vụ được gửi bị gián đoạn thân thiện và/hoặc không chạy mọi lúc). – assylias
Vâng, tôi đồng ý - Tôi không thích các chủ đề daemon vì chúng có thể dễ dàng thoát khỏi sự kiểm soát của bạn về quản lý luồng. – Cowboy