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 ! > > > Hi! > > > > > > Kann man einen Task mehrmals starten? > > > Also sagen wir ich hätte einen Task der einen Digitalport beobachtet und je nach Wert ein Relais schaltet > > > oder halt nicht. Kann man diesen Task mehrmals starten so in der Art einer Klasse? Wenn ich den Task > > > mit run xy startet verweißt er ja immer wieder auf den gleichen Speicherbereich womit ich ihn ja nicht > > > instanziert habe. > > > > > > der andy > > > > > > > Tach ! > > Was willst Du eigentlich machen ? > > > > > > Ich lege solche Aufgaben eigentlich immer in einen Thread. > > Diesen rufe ich EINMAL auf und schon läuft die Sache locker immer wieder durch. > > Sollten bestimmte Port-Zustände in anderen Programmteilen benötigt werden muss man sie halt eben in > > globalen Variablen hinterlegen. > > > > Hat eigentlich immer gefunzt ... > > > > Josef > > Ich habe externe LCD Anzeigen die vom C-Control seriell angesteuert werden. Es muß sicher gestellt sein > dass die Anzeigen das darstellen was angedacht ist. Dazu frage ich die Anzeige alle x Sekunden ab. > Hätte ich jetzt Tasks die mehrmals gestartet werden können (wie gesagt ähnlich einer Klasse) schreibe > ich einmal den Code für die Initialisierung der Anzeige und die Synchronisierung kann ich das für alle > Anzeigen logischerweise gleich benutzen und alle Anzeigen funktionieren voneinander unabhängig. > Beispiel: Thread für Anzeige 1,2 und 3 werden gestartet. Anzeige 1 und 3 initialisieren sich korrekt und > funktionieren. Anzeige 2 initialisiert sich nicht weil z.B. keinen Strom. Je nachdem wie "dumm" mein Code > ist blockiert dann sogard Anzeige 2 die Anzeige 1 und 3 weil auf Funktion von Anzeige 2 möglicherweise, > wie gesagt je nachdem wie "dumm" mein Code ist, gewartet wird. Mache ich das in einem Thread > hab ich viel mehr Verwaltungsaufwand. Mache ich das in 3 Threads kann Anzeige 1 und 3 ziemlich egal > sein ob 2 nicht funktioniert, sie arbeiten einfach wie gewünscht. Klar kann ich mir auch den Thread 3 mal > kopieren und hab das gleiche Ergebnis. Damit verliere ich aber die Möglichkeit dynamisch Anzeigen > hinzu zu fügen oder zu entfernen. Klar kann ich mir auch wieder einen Thread so bauen dass ich das kann > aber dann bin ich doch wieder voll bei Single Threading. Hab aufm 64er unter Single Threading in > Assembler Funktionen geschrieben die "gemogeltes" Multi Threading konnten durch tausend (übertrieben) > verschiedene Statusabfragen usw aber das ist irgendwie nicht der Sinn von Multi Threading. > > Habe mir jetzt was gebaut wo ich vom Main Thread (oder einem anderen Thread) dem "Anzeigen Thread" > Kommandos schicken kann und auch eine Bestätigung des Kommandos vom Thread kriege. Funkt auch > gut aber ich hab immer noch das Problem dass ich für jede Anzeige nen eigenen Thread brauche. > > der andy