TS: javascript race condition

Beitrag lesen

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, oder nicht. Liegt also bezüglich der Datenbasis Multithreading-Verhalten vor?

Ü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.