DEV Community

Falo
Falo

Posted on

Note thread

Khi sử dụng thread trong executor, có lỗi(exception) thì nếu sử dụng hàm execute thì sẽ bắn ra exception đó truy nhiên vẫn không thể catch ở thread main.
và tạo 1 thread mới để thực hiện task sau.
Còn khi sử dụng submit task callable vào executor thì khi có lỗi sẽ thực hiện task tiếp theo mà thread không
bị tạo lại.
Khi sử dụng CompleteableFuture thì dùng runAsync hay supplyAsync cũng không bắn exception ở luồng chính mà sẽ
cần sử dụng hàm callback exceptinally() để catch exception.
Việc sử dụng runAsync và supplyAsync khi có exception cũng không tạo ra luồng mới như hàm execute ở Executor.

Top comments (0)