Ja, diese Definition könnte etwas verwirrend sein. Es stimmt, was alle anderen bisher gesagt haben, aber vielleicht fehlt ein Wort, um das System besser zu verstehen. - gleichzeitige
Wenn Sie verarbeitet p1 und p2 auf der gleichen Maschine laufen, es ist wirklich nicht zu viel von einer Notwendigkeit Lamport Uhren zu verwenden (vielleicht einige sehr speziellen Fall). Stattdessen können Sie einfach die von Ihrem Betriebssystem bereitgestellte Uhr verwenden. Aber was, wenn p1 und p2 auf Computern sind, die durch ein langsames und unzuverlässiges Netzwerk getrennt sind?
Lamport geht davon aus, dass Sie Ihrer lokalen Uhr nicht vertrauen können und dass Sie keinen globalen Status des verteilten Systems haben, in dem Ereignisse auf 2 verschiedenen Computern aufgetreten sind. Dann rufen Sie diese Ereignisse gleichzeitig auf.
Wenn Sie die Ausführung des verteilten Systems Debuggen würde und Sie würden Ereignisse a3 und b3 natürlich man davon ausgehen würde, a3 geschah vor b3 sehen. In Ihrem speziellen Fall würden Sie jetzt behaupten, yeah, aber das ist falsch. Da die Ereignisse jedoch nicht miteinander in Beziehung stehen, da sie nicht miteinander kommunizieren, wird angenommen, dass die Reihenfolge gleichzeitig ist, und in einem solchen Fall spielt es keine Rolle, welche zuerst oder zweite für die gesamte Ausführung von das System.
Da Computer und Netzwerke werden so schnell arbeiten und immer noch sehr genau, es ist manchmal schwer zu verstehen, lassen Sie uns etwas anders in der gleichen Sache aussehen:
p1 und p2 sind zwei Menschen paar 100 Jahre leben Vorbei in zwei verschiedenen Tälern. Sie kommunizieren miteinander über Pidgins und reden nie darüber, wann sie eine bestimmte Aufgabe erledigt haben, was sie getan haben. Auf diese Weise konnte niemand wissen, wer, wenn a3 passiert vor b3 oder umgekehrt, daher passiert sie gleichzeitig. Vielleicht nicht niemand, Gott beobachtet von oben auf p1 und p2 könnte es sehen.
Leider, wenn Sie ein verteiltes System haben, können Sie nicht Gott sein und beobachten p1 und p2 zugleich, nur aus dem Grund, dass Nachrichten von p1 könnte länger dauern als von p2. Also, obwohl Ihr Überwachungssystem (Gott) die Informationen von b3 erhalten hat, bevor es die Informationen über a4 erhalten hat bedeutet es nicht, dass sie in dieser Reihenfolge passierten, vielleicht dauerte die Pakete mit Informationen über a4 nur noch länger oder langsamer Pfad.
Am Ende gibt es noch eine Sache namens vector clocks. Jeder Prozess hat eine Lamport-Uhr für jeden Prozess im System. Der Schlüssel hier ist, Event ein nur vor Ereignisse b die b passieren würde, wenn alle Lamport Uhren ein waren kleiner oder gleich. Wenn Sie es an Ihrem kleinen Beispiel ausprobieren, werden Sie sehen, dass kein Ereignis vor dem anderen passiert ist => sie sind gleichzeitig.