Có một mô hình nhẹ để hủy bỏ phương pháp lâu runing, mà thay thế mã như thế này:Lightweight dài chạy phương pháp hủy mô hình cho Java
public void longComputations() {
... first step...
if (cancelled) {
rollbackWork();
return;
}
... second step...
if (cancelled) {
rollbackWork();
return;
}
... third step...
if (cancelled) {
rollbackWork();
return;
}
}
tôi biết rằng tôi có thể làm cho một lớp công tác, chia nhỏ các bước để nhiệm vụ các đối tượng, tạo một hàng đợi và chỉ cần thực hiện các công việc theo từng bước trong vòng lặp với việc kiểm tra hủy, nhưng tôi chỉ tự hỏi là có bất kỳ mẫu cấu trúc mã đơn giản nào cho tình trạng sush.
+1 Mẫu lệnh goF –
Tôi sẽ chấp nhận do đủ khoảng thời gian. Tuy nhiên, câu trả lời thực sự là "Không, không có cấu trúc mã đơn giản cho điều đó". Giải pháp của bạn là một chút nặng (như tôi đã nói 'chia nhỏ các bước cho các đối tượng nhiệm vụ') cho quá trình rất nhỏ, nhưng tôi nghĩ rằng đó là một thực hành tốt hơn nhiều mà liên quan đến chủ đề exteptions/thread gián đoạn. –
@killer_PL: Có, sử dụng các chủ đề có thể làm phức tạp quá mức nhiệm vụ ... –