javascript race condition
bearbeitet von
Hello,
Du müsstest einfach nur mal überlegen, wieviele Clients parallel diesen Prozess anstoßen dürfen und ob die **gemeinsame** Datenbasis innerhalb des kritischen Prozesses für andere (zumindest gegen Schreiben) gesperrt bleibt, obder nicht.
Üblicherweise muss in einem Multiuser(Multi-Thread)-System eine Datenbasis (der kritische Abschnitt) vom Zeitpunkt VOR dem Lesen bis zum Zeitpunkt NACH dem Schreiben gesperrt werden, bzw. ihre Integrität gewahrt bleiben.
Das kann auch mittels Write-Conflict-Counter stattfinden.
Beim Lesen wird der Counter ausgelesen und es darf nur zurückgeschrieben werden, wenn der Counter nicht verändert wurde. Der erfolgreiche Schreibvorgang erhöht den Counter.
Der Counter muss gegen irreguläre Veränderung geschützt sein!
Hier hilft also nur eine Kapselung der Prozesse.
Liebe Grüße
Tom S.
--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.