Có, định nghĩa đó có thể hơi khó hiểu. Đó là chính xác những gì mọi người khác nói cho đến nay, tuy nhiên có thể có một từ mất tích, để hiểu hệ thống tốt hơn. - đồng thời
Nếu bạn xử lý p1 và p2 đang chạy trên cùng một máy, có thực sự là không quá nhiều nhu cầu sử dụng đồng hồ Lamport (có thể một số trường hợp rất cụ thể). Thay vào đó bạn chỉ có thể sử dụng đồng hồ được cung cấp bởi hệ điều hành của bạn. Nhưng điều gì xảy ra nếu p1 và p2 có trên các máy tính được phân tách bằng mạng chậm và không đáng tin cậy không?
Lamport giả định, bạn không thể tin tưởng đồng hồ địa phương của mình và bạn không có trạng thái toàn cầu của hệ thống phân phối, trong đó các sự kiện đặt hàng trên 2 máy tính riêng biệt đã xảy ra. Đó là khi bạn gọi những sự kiện đó xảy ra đồng thời.
Khi bạn muốn được gỡ lỗi thực hiện các hệ thống phân phối và bạn sẽ thấy sự kiện a3 và b3 tự nhiên bạn muốn giả định, a3 xảy ra trước b3. Trong trường hợp cụ thể của bạn, bạn hiện yêu cầu bồi thường, vâng, nhưng đó là sai. Tuy nhiên, vì các sự kiện không liên quan, vì chúng không giao tiếp với nhau, thứ tự thường được giả định là đồng thời và trong trường hợp đó, nó không quan trọng cái nào xảy ra trước hoặc thứ hai, cho toàn bộ việc thực hiện hệ thống.
Kể từ khi máy tính và mạng đang làm việc quá nhanh và vẫn còn rất chính xác, đó là đôi khi rất khó hiểu, chúng ta hãy nhìn vào những điều tương tự hơi khác nhau:
p1 và p2 hai người sống vài 100 năm trước đây ở hai thung lũng khác nhau. Họ giao tiếp với nhau bằng cách sử dụng pidgins và không bao giờ nói về khi họ đã làm một nhiệm vụ nhất định, chỉ là những gì họ đã làm. Bằng cách này, không ai có thể biết được, nếu a3 xảy ra trước b3 hoặc ngược lại, do đó chúng xảy ra đồng thời. Có thể không phải là không ai, Chúa xem từ trên p1 và p2 có thể xem được.
Thật không may, khi bạn có một hệ thống phân phối, bạn có thể không được thần và xem p1 và p2 cùng một lúc, chỉ cần ra khỏi lý do mà các tin nhắn từ p1 có thể mất nhiều thời gian hơn từ p2. Vì vậy, mặc dù hệ thống giám sát của bạn (thần) đã nhận được thông tin của b3 trước khi nó nhận được thông tin về a4 nó không có nghĩa là họ đã xảy ra theo thứ tự đó, có lẽ các gói chứa thông tin về a4 chỉ mất một còn hoặc đường dẫn chậm hơn.
Cuối cùng, có một thứ khác được gọi là vector clocks. Mỗi quá trình có một đồng hồ lamport cho mọi quá trình trong hệ thống. Chìa khóa ở đây là, sự kiện một sẽ chỉ xảy ra trước sự kiện b nếu tất cả đồng hồ Lamport của một là nhỏ hơn hoặc bằng những b. Nếu bạn sẽ thử nó trên ví dụ nhỏ của mình, bạn sẽ thấy rằng không có sự kiện nào xảy ra trước => chúng khác đồng thời.