Không đồng bộ phù hợp nhất khi xử lý các yêu cầu sau:
- Yêu cầu ràng buộcI / O. Ví dụ: ghi / đọc tệp hoặc cơ sở dữ liệu, thực hiện lệnh gọi API, gọi phần cứng như máy in, v.v.
- Yêu cầu ràng buộc CPU (yêu cầu thời gian CPU).
Tại sao chúng ta cần lập trình không đồng bộ?
Mã hóa không đồng bộ thường có nghĩa là bạn cần đa luồng mã của mìnhĐiều này có nghĩa là bạn phải bắt đầu một luồng khác có thể chạy độc lập với tác vụ chính của bạn. Điều này thường là cần thiết bởi vì, như một ví dụ, việc đợi kết nối hoàn tất sẽ dừng hoàn toàn chuỗi đang chờ chạy.
Lý do nào tốt nhất để sử dụng xử lý không đồng bộ?
Vòng lặp không đồng bộ là cần thiết khi có số lượng lớn các lần lặp liên quan hoặc khi các hoạt động trong vòng lặp phức tạpNhưng đối với các tác vụ đơn giản như lặp qua một mảng nhỏ, có không có lý do gì để phức tạp hóa mọi thứ bằng cách sử dụng một hàm đệ quy phức tạp.
Khi nào bạn sử dụng các hành động không đồng bộ?
Hành động không đồng bộ tốt nhất là khi phương thức của bạn là I / O, liên kết mạng hoặc chạy lâu dài và có thể song song hóa. Một lợi ích khác của hành động không đồng bộ là người dùng có thể dễ dàng hủy bỏ hành động này hơn là một yêu cầu đồng bộ.
Đối tượng nào sau đây sử dụng lập trình không đồng bộ?
Một trong những API cơ bản nhất mà Dart có để lập trình không đồng bộ là futures- các đối tượng kiểu Tương lai. Phần lớn, tương lai của Dart rất giống với các API tương lai hoặc hứa hẹn được tìm thấy trong các ngôn ngữ khác. Bài viết này thảo luận về các khái niệm đằng sau hợp đồng tương lai của Dart và cho bạn biết cách sử dụng API tương lai.