Vâng chặn IO có nghĩa là một chuỗi nhất định không thể làm gì thêm cho đến khi IO được nhận đầy đủ (trong trường hợp ổ cắm, thời gian chờ này có thể là thời gian dài).
IO không chặn có nghĩa là yêu cầu IO được xếp hàng ngay lập tức và hàm trả về. IO thực tế sau đó được xử lý tại một số con trỏ sau đó bởi hạt nhân.
Để chặn IO, bạn cần phải chấp nhận rằng bạn sẽ đợi mọi yêu cầu IO hoặc bạn cần phải tắt một chuỗi cho mỗi yêu cầu (Sẽ rất phức tạp rất nhanh).
Đối với IO không chặn, bạn có thể gửi nhiều yêu cầu nhưng bạn cần lưu ý rằng dữ liệu sẽ không có sẵn cho đến khi một số "sau" điểm. Điều này kiểm tra rằng dữ liệu đã thực sự đến có lẽ là phần phức tạp nhất.
Trong 99% các ứng dụng, bạn sẽ không cần phải quan tâm rằng khối IO của bạn. Tuy nhiên, đôi khi bạn cần thêm hiệu năng cho phép bản thân bắt đầu một yêu cầu IO và sau đó thực hiện một việc khác trước khi quay lại và hy vọng rằng việc yêu cầu IO đã hoàn thành.
Dù sao, chỉ là sự tuỵ của tôi.
Hình thức ứng dụng chăm sóc khá nhiều 100% thời gian nếu khối IO. Người dùng không thích GUI bị treo. –
Không có gì ngăn bạn chạy một chuỗi riêng biệt thực hiện tất cả IO serially và chặn ... – Goz