Deterministische Gleichzeitigkeit ist ein Modell für nebenläufige Programmierung, bei dem Programme, die in diesem Modell geschrieben wurden, die folgende Eigenschaft haben: Für einen gegebenen Satz von Eingaben sind die Ausgabewerte eines Programms für jeden Ausführungsplan gleich. Das bedeutet, dass die Ausgaben des Programms ausschließlich von den Eingaben des Programms abhängen.
Es gibt Möglichkeiten, diese Eigenschaft zu gewährleisten. Eine der Möglichkeiten ist die so genannte Einzelzuweisungsprogrammierung, bei der Variablen nicht initialisiert werden müssen, sondern höchstens einmal zugewiesen werden dürfen. Das Lesen einer nicht initialisierten Variablen wird so lange verzögert, bis ihr ein Wert zugewiesen wird (möglicherweise durch einen anderen Thread). Die Programmiersprache Mozart unterstützt dies.
Eine andere Möglichkeit ist die Analyse der Eigentümerschaft, um festzustellen, welche Threads die verschiedenen Verweise "besitzen", und um sicherzustellen, dass keine 2 Threads zur gleichen "Zeit" in den Verweis schreiben, so dass es keine Datenwettläufe gibt.