16.01.2015, 10:35
(16.01.2015 09:34 )buechling schrieb: [ -> ]Dazu nur noch eine Frage: LabView sperrt den Speicher nun automatisch, wenn eine Inplacestruktur mit lesen anfängt? Was ist wenn ich nun gleichzeitig in diesem Speicherbereich nur lesen will - kann ich dies dann trotzdem noch irgendwie machen oder muss ich warten bis der Schreibvorgang abgeschlossen ist ( eventuell dauert die Berechnung etwas länger und ich möchte einfach nur den alten Wert auslesen )
Ja das ist eine Kerneigenschaft, dass die Strukturen ein Locking mitbringen. Der erste Zugriff gewinnt.
[attachment=51819]
Hier einfach mal mit den start delays spielen. Falls sie gleich sind ist das Verhalten undefiniert. (Auch wenns bei 1000 Versuchen sich immer gleich verhält, beim nächsten Compile schaut's mglw. anders aus.)
Das Locking bringt natürlich auch die Gefahr eines Deadlocks mit.
[attachment=51820]
(am besten mit Highlighting aktiviert laufen lassen)