1. Lập trình

Làm sao chạy được nếu thread chạy nó đã Interrupted rồi nhỉ?

Java: Giả sử mình catch được InterruptedException, sau đó mình handle bằng cách chạy một function như kiểu giveMoneysBack()

Từ khóa: java, lập trình

Bản chất Thread(Monitor Thread - MT) catch được InterruptedException là 1 thread khác không phải thread bị ngắt(Interrupted Thread - IT). Case này mình nghĩ bạn có thể thiết kế sao cho MT luôn luôn nắm giữ thông tin giao dịch của IT để khi IT bị ngắt MT sử dụng thông tin đó để rollback giao dịch bị lỗi.

Trả lời

Bản chất Thread(Monitor Thread - MT) catch được InterruptedException là 1 thread khác không phải thread bị ngắt(Interrupted Thread - IT). Case này mình nghĩ bạn có thể thiết kế sao cho MT luôn luôn nắm giữ thông tin giao dịch của IT để khi IT bị ngắt MT sử dụng thông tin đó để rollback giao dịch bị lỗi.


Dùng Throwable thì Thread sẽ không gọi hàm Stop. Nhưng cần kiểm soát các ngoại lệ sau: OutOfMemoryError, InternalError, StackOverflowError