Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
wollt zu meinem vi mal eine Sache fragen. Leider kann ich das nicht hochladen, da es einfach viel zu groß ist und mit DaQs versehen ist und dann ohnehin nicht funktioniert.
Aber beschreib es mal kurz mit der Fragestellung zusammen:
Ich habe habe eine Zusandsmaschine in der ich per Queues die nächsten zustände einleite. Mehrer Buttons befinden sich auf dem Bildschirm und je nachdem welcher Zustand erreicht ist, werden buttons aktiviert und deaktiviert. Jetzt ist eine Sache aufgetaucht, dass wenn ich zu einen Zustand wechsel, auf einmal alles blockiert ist! Also man kannn nicht einmal die Menüleiste oben bedienen sondern nur noch den Abbrechen Schalter in der Menüleiste. Die CPU Auslastung ist in diesem Moment ok, und falls ich aktivieren und deaktivieren vertauscht haben sollte oder einmal vergessen hätte würde ja wenigstens die Menüleiste noch zum aufklappen funktionieren. Sehr komisch das ganze.
Aber ich hoffe das vlt. ähnliches schon mal bei jemanden passiert ist ( also nicht das ich das jemand wünsche )oder eine Idee hat?
also ich verwende nur eine Event struktur. Im Anhang ist das Prinzip dargestellt wie ich das gemacht habe.
Hoffe es ist daraus zu erkennen, sonst erläuter ich es gerne näher.
ja die funktioniert ja auch nicht. es sollte nur das prinzip zeigen, da ich wie gesagt nicht das ganze programm hochladen wollte. Dachte es kann so schon etwas erkannt werden wodran es liegen könnte? Aber wenn es nicht der Fall ist muss ich wohl eine abgespeckte version noch erstellen oder?
Ein Prozessor arbeitet eine Schleife so schnell ab wie es ihm möglich ist. Der den Thread abarbeitende Kern ist damit zu 100% ausgelastet. Wenn du nicht mehr als ein Kern hast ist es logisch, dass das ganze System etwas träge oder gar nicht mehr reagiert. Mit meinen vier nativen Kernen merke ich fast nichts. Bau einfach in die obere Schleife eine Verzögerung rein.
Die Queue muß bei "Stop" zerstört werden. Nur dann hat man am Stopelement der unteren while-Schleife einen Fehler, der diese Schleife - und damit das ganze Programm - beendet.