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 Udo, > > > Zur Erklärung: > > Ein main thread darf nur einmal vorhanden sein. Ansonsten wird der Erste, der gefunden wird, gestartet. > > Da Module im Allgemeinen am Anfang stehen, sind die da eben bevorzugt. Alle weiteren main threads > > werden nicht beachtet. > > Sorry, das ist falsch ! > Der Name "main" ist für den Compiler nur ein Label, damit dieser weiß, > daß ein solcher Thread nicht mit der Priorität 0(=Thread steht), sondern mit > der Prio 32 kompiliert wird. > Alle Threads mit einer kompilierte Prio größer 0 laufen bei Programmstart selbsttätig an. > Die Reihenfolge des Anlaufens wird von der Reihenfolge der Main-Threads bestimmt. > Es ist daher absolut zulässig in einem Projekt mehrere Mainthreads zu haben. > In einigen Projekten habe ich selbst mehrere Mainthreads. > > Um dies zu verstehen, muß man mind. im groben wissen, wie das mit den Prioritäten > bei der CC2 funzt: > Es gibt 256 Stufen: 0 bis 255. > Dabei bedeutet 0, daß der Thread nicht läuft. > Die Zahl gibt an, wieviele VM-Instruktionen max. am Stück ausgeführt werden, > bevor ein Threadwechsel erfolgt. > Der Kernel des CC2-OS prüft, nachdem ein Thread die Rechenzeit "abgibt", welche Prio > der nächste Thread hat. Ist diese größer 0, so wird die entsprechende Anzahl > an Instruktinen ausgeführt, bis der nächste Thread dran ist. usw. > > > > Dies führt zu sehr unübersichtlichen Fehlern, die man sich erst im Nachhinein > > wirklich erklären kann. > > Nein, das führt zu keinerlei Fehlern, wenn man mit Absicht mehrere Mainthreads betreibt. > Der Datensalat an HWCOM kam im Fall DS1631 nur zustande, da hier mehrere Threads > durcheinander Ausgaben über HWCOM machten. > > MfG André H.