Announcement

Collapse
No announcement yet.

Zugriffsschutz auf Speicher notwendig ???

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriffsschutz auf Speicher notwendig ???

    Hallo,
    folgende Konstellation: Habe ein Programm, dass ein dynamisches Array anlegt. Das Programm schreibt nur in das Array und liest nicht. Innerhalb des Programms wird ein Thread gebildet, der auf das Array lesend zugreift. Bis jetzt ist nichts passiert, habe allerdings auch noch keine Vollast gefahren.
    Frage: Muss der Zugriff auf das Array für die beiden Zugreifer (PRG und Thread) verriegelt werden oder gibt es im Hintergrund Verriegelungen???

  • #2
    Es gibt erst mal keine automatischen Verriegelungen. Es empfiehlt sich im Thread Synchronize zu verwenden. Wird im Thread heftig auf den Daten gerechnet (was ja wohl der Sinn des Threads ist), so kann man von den Daten im Synchronize ja eine thread-lokale Kopie erzeugen

    Comment


    • #3
      Hallo,

      Borland stellt genau zu diesem Zweck die Klasse <b>TMultiReadExclusiveWriteSynchronizer</b> zur Verfügung. Je nach Delphi-Version ist diese zwar mit Bugs behaftet, aber immer noch besser als das "russische Roulette" ohne jegliche Synchronisation. Wenn man damit rechnen muss, dass die Anwendung irgenwann auf eine Maschine läuft, die mit mehr als nur einer CPU ausgestattet ist, sollte man generell an dieser Stelle sehr vorsichtig sein

      Comment

      Working...
      X