Mặc dù mô hình tuần tự thống nhất có một bất lợi hiệu suất, từ quan điểm của các lập trình viên nó có lợi thế là đơn giản. Thách thức là để phát triển một mô hình lập trình đơn giản để giải thích và được phép thực hiện một hiệu suất cao.Một như mô hình lập trình cho phép chúng tôi để có một imple¬mentation hiệu quả hơn là giả định rằng chương trình được đồng bộ hoá. Một chương trình là synchro¬nized nếu tất cả các đường dẫn truy cập để chia sẻ dữ liệu được sắp xếp bởi các hoạt động đồng bộ hóa. Một tham chiếu dữ liệu lệnh của một hoạt động đồng bộ nếu, trong mỗi có thểthực hiện, một viết một biến bởi một bộ xử lý và một người truy cập (đọc hoặc viết) của biến đó bởi một bộ xử lý được ngăn cách bởi một cặp synchroni-zation hoạt động, thực hiện sau khi viết do bộ vi xử lý văn bản và thực thi trước khi truy cập bộ vi xử lý thứ hai. Trường hợp nơi biến có thể được cập nhật mà không đặt hàng bằng cách đồng bộ hóa được gọi là dữ liệu chủng tộc vì kết quả thực hiện phụ thuộc vào tốc độ tương đối của các bộ vi xử lý, và, cũng giống như cuộc đua trong thiết kế phần cứng, kết quả là không thể đoán trước, dẫn đến một tên khác cho đồng bộ chương trình: dữ liệu-chủng tộc-Việt.Như là một ví dụ đơn giản, hãy xem xét một biến đọc và Cập Nhật bởi c-ferent hai bộ vi xử lý. Mỗi bộ xử lý bao quanh đọc và Cập Nhật với một khóa và mở khóa một, để đảm bảo các loại trừ lẫn nhau với các Cập Nhật và đảm bảo rằng người đọc là phù hợp. Rõ ràng, viết mỗi bây giờ tách ra từ một đọc bởi bộ vi xử lý khác bằng một cặp của các hoạt động đồng bộ hóa: một mở khóa (sau khi ghi) và một khóa (trước khi đọc). Tất nhiên, nếu hai bộ vi xử lý đang viết một biến với lần đọc không có can thiệp, sau đó viết những phải cũng được tách ra bởi hoạt động synchroniza¬tion.Đó là một quan sát được chấp nhận rộng rãi, hầu hết các chương trình đã được đồng bộ hoá. Quan sát này là đúng, chủ yếu là bởi vì nếu các đường dẫn truy cập được ví, hành vi của chương trình có khả năng sẽ không thể đoán trước vì tốc độ thực hiện sẽ xác định bộ vi xử lý đã giành một cuộc chạy đua dữ liệu và do đó ảnh hưởng đến kết quả của chương trình. Ngay cả với trình tự thống nhất, lý luận về chương trình như vậy là rất khó khăn.Lập trình viên có thể cố gắng để đảm bảo đặt hàng bằng cách xây dựng các cơ chế đồng bộ hóa của riêng họ, nhưng điều này là cực kỳ khó khăn, có thể dẫn đến lỗi pro-gram và có thể không được hỗ trợ kiến trúc, có nghĩa là họ không thể làm việc trong tương lai thế hệ sự. Thay vào đó, hầu hết các program¬mers sẽ chọn sử dụng đồng bộ hóa các thư viện là chính xác và tối ưu hóa cho sự và loại đồng bộ hóa.Cuối cùng, sử dụng đồng bộ hóa tiêu chuẩn nguyên thủy đảm bảo rằng ngay cả khi các kiến trúc thực hiện một mô hình thống nhất thoải mái hơn so với trình tự thống nhất, một chương trình đồng bộ sẽ cư xử như thể phần cứng thực hiện tuần tự nhất quán.
đang được dịch, vui lòng đợi..
