Đúng vậy, vì nó cho phép máy chủ xử lý các yêu cầu khác trong khi chờ I / O hoàn thành, tức là bạn cho phép cùng một số luồng xử lý nhiều yêu cầu hơn.
Ngoài ra, buộc đồng bộ hóa bằng cách sử dụng .Result
hoặc .Wait()
nguy hiểm vì bạn sẽ gặp bế tắc
nếu bạn không làm đúng.
không đồng bộ chỉ có nghĩa là máy chủ có thể sử dụng luồng cho một cái gì đó khác ở giữa; điều này phần lớn là minh bạch, tức là mã của bạn không phải quan tâm nhiều. Đối với các mục đích thực tế, chỉ cần gọi await InsertOneAsync(...)
hoặc bất kỳ phương thức trình điều khiển MongoDB nào bạn đang gọi.
Không đồng bộ là một tính năng khá 'lây nhiễm':để sử dụng hiệu quả tính năng không đồng bộ, tất cả mã của bạn phải có khả năng xử lý nó.