Sự khác biệt giữa đồng bộ và không đồng bộ

Đồng bộ vs không đồng bộ

Đồng bộ và không đồng bộ là hai từ lớn có vẻ đáng sợ nhưng khá đơn giản. Đồng bộ đơn giản có nghĩa là tất cả các sự kiện đang diễn ra theo một thứ tự thời gian nhất định có thể dự đoán được. Một sự kiện nào đó sẽ luôn theo sau một sự kiện khác và chúng không thể thay thế cho nhau. Không đồng bộ là trái ngược với đồng bộ. Trong các quy trình không đồng bộ, không có thứ tự thời gian. Một số sự kiện có thể, và thường làm, trao đổi. Một ví dụ đồng bộ tuyệt vời là âm nhạc. Mỗi nhạc cụ tham gia cần phải nhịp nhàng với các nhạc cụ khác nếu không âm nhạc sẽ không đúng. Đối với không đồng bộ, một ví dụ tốt sẽ là lưu lượng truy cập. Xe di chuyển với tốc độ khác nhau và thông thường người ta di chuyển qua người khác.

Trong hầu hết các ứng dụng, hoạt động đồng bộ là điều cần thiết vì có một hoạt động không đồng bộ có nghĩa đen là sự hỗn loạn. Ví dụ về điều này là đường sắt và sân bay. Trong các kịch bản này, điều quan trọng là phải biết xe nào đi trước để tránh va chạm. Thứ tự của mọi thứ được lên kế hoạch cẩn thận để tạo điều kiện cho một dòng chảy trôi chảy và những thay đổi đối với kế hoạch là rất ít và xa.

Mặc dù hoạt động đồng bộ thường được ưa thích, có một số trường hợp không cần thiết. Thậm chí có những trường hợp hoạt động đồng bộ có thể gây bất lợi cho mục tiêu. Một ví dụ trong đó hoạt động đồng bộ không thực sự cần thiết là trong trình duyệt internet. Trước AJAX (Javascript không đồng bộ và XML), hầu hết các trang web cần phải được tải lại toàn bộ để thay đổi thông tin trên một phần nhỏ. Với AJAX, giờ đây có thể cập nhật phần nhất định đó trong khi phần còn lại của trang không bị ảnh hưởng. Điều này có lợi vì một lượng dữ liệu nhỏ hơn cần được truyền đi và người dùng không phải chịu đựng trong suốt quá trình làm mới toàn bộ trang. AJAX không đồng bộ vì các cập nhật trang không còn được đồng bộ hóa.

Trong hoạt động của máy tính, I / O là một lĩnh vực mà hoạt động đồng bộ trở nên bất lợi. Hoạt động đồng bộ trong vấn đề này có nghĩa là bộ xử lý cần chờ dữ liệu được ghi hoặc đọc trước khi có thể tiếp tục. Vấn đề là, các thiết bị I / O như ổ cứng và đặc biệt là ổ đĩa mềm, có bộ phận cơ học, rất chậm. Nếu bộ xử lý cần đợi ổ đĩa kết thúc, nó sẽ lãng phí rất nhiều thời gian. Hoạt động không đồng bộ cho phép bộ xử lý thực hiện những việc khác trong khi chờ đọc / ghi kết thúc và chỉ tiếp tục khi hoạt động đã thành công.

Tóm lược:
Phương tiện đồng bộ theo thứ tự thời gian trong khi Không đồng bộ có nghĩa là không có thứ tự thời gian
Đồng bộ được ưa thích hơn không đồng bộ trong nhiều ứng dụng trong thế giới thực
Đồng bộ có thể hoạt động kém hơn trong các trường hợp nhất định so với không đồng bộ