Khái niệm, định nghĩa Asynchronous (Bất đồng bộ) là gì?

Ngược lại với Synchronous thì Asynchronous là xử lý bất động bộ.

Bất đồng bộ là ta sẽ đặt ra job nào đó thực hiện riêng, và trong lúc nó thực hiện riêng, ta sẽ làm công việc khác.

Quy trình:

  • Ta đặt ra 1 statement
  • Trong lúc ta đợi cho nó hoàn thành, ta có thể qua làm 1 task khác
  • Và sau khi nó hoàn thành, ta chạy callback function để lấy kết quả

Điều này có nghĩa trong 1 số dạng task, ta có thể giảm bớt được thời gian xử lý khi sử dụng bất đồng bộ vì ta đã giảm thiểu được thời gian chờ đợi 1 task nào đó hoàn thành.

Bất đồng bộ cũng chỉ sử dụng trong 1 thread(luồng)

VD thực tế: Bạn chiên trứng, đặt thời gian(callback), bạn cũng nấu cơm, đặt thời gian. Trong lúc nó nấu, bạn dọn dẹp bếp hay làm abcxyz gì đó. Sau khi nấu xong, bạn bắt đầu ăn cả 2.