Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Mario, > > > > Das duerfte EINIGES erklaeren! > > Zusammen mit der hwcom hatte ich schon so oft Aerger, das sich die CC2 aufhaengt. > > Warum steht nicht im Handbuch "keine verschachtelten captures.", oder habve ich es ueberlesen? > > Falls es wirklich nicht drin steht, woher weist du es? > Zu einem steht's im Handbuch auf Seite 80 und zu anderem im Archiv des alten > <a href="http://www.cc2net.de/Foren/foren.html" target="_blank">C-Control-Center-Forums(unter Foren)</a> > Beitrag:"Probleme mit der Synchronisation von Threads - Sprotto 04.1.2001 17:12". > > > > > > Die Lösung: Ein "Software"-Capture. > > > Die Prio der Threads sollte aber nicht kleiner 15 sein. > > > > das ist doch vom Prinzip Polling, oder? > > Der Eine setzt ein Flag und der Andere schaut staendig nach. > > Genauso mach es capture/release auch. Eben nur Atomar. > > > Ist das nicht 1. Threadunsicher (steht doch auch sowas im Handbuch S.79 oben) und 2. wenn schon so, nicht etwas performanter mit <i>wait</i> zu machen? > > Oder ging es dir nur um die Demonstration? > > Nein, unsicher ist das nicht. Durch den Einsatz von "yield" wird es sehr sicher, da alles > innerhalb von loop ohne Unterbrechung(Threadwechsel) ausgeführt wird. > Ich verwende das "SW-Capture" schon mehrfach ohne Probleme. > Ein loop ist mir lieber als wait, da ich ganau weiß was der thread macht. > Mit wait würde das so aussehen: > <font face="Courier New" size=2> > yield; // sehr wichtig > wait file_lock==0 > file_lock=255;</font> > > Das yield; darf nicht vergessen werden, da, soviel ich weiß, bei wait ein "yield" > erst nach der Prüfung stattfindet. > Das wait sieht intern in etwa so aus: > <font face="Courier New" size=2>loop > {if bedingung break; > yield;}</font> > > > Wie wuerdest du denn mein Datei-problem loesen? > > Das array vor dem Senden umkopieren geht leider auch nicht, da es so gross sein wird, das es nur 1mal in den Speicher passt. > > > > Btw: wieviel Speicherplatz fuer Vars gibt es eigentlich maximal? > Ich würde aus den beiden Threads einen machen, da entweder nur das eine oder andere > ausfeführt wird. > Das umkopieren ginge schon, wenn das Array nicht größer als 30kByte ist. > Aber das sollte nicht nötig sein. Selbst, wenn Du auf das Array schreibst, während > es gelesen wird, sollte es keine Probleme geben, zumindest bei byte- und int-Arrays nicht. > Probleme gibt's nur, wenn zwei threads gleichzeitug schreiben wollen, oder ein > Datensatz mit mehreren Werten geschrieben werden soll und gerade diese Stelle > ausgelesen wird. > Insgesamt besitzt die CC2 64kByte RAM. Davon sollten etwas über 60kByte verfügbar sein. > > MfG André H.