LabVIEWForum.de
Boolesche Schaltfläche automatisch zurücksetzen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Boolesche Schaltfläche automatisch zurücksetzen (/Thread-Boolesche-Schaltflaeche-automatisch-zuruecksetzen)

Seiten: 1 2


Boolesche Schaltfläche automatisch zurücksetzen - IchSelbst - 02.07.2009 09:58

' schrieb:.. zudem bin ich der Meinung, das die CPU auch mal voll ausgelastet werden darf, dazu ist sie ja da.
Ich kaufe mir ja auch keinen Ferrari und fahre dann nur in der Fussgängerzone mit 20KM/h rum.
Top1


' schrieb:allerdings weiß ich ja nicht, was auf dem Rechner sonst noch so passiert. Will da noch gearbeitet werden?
Wenn die Firma [*HustenAnfall*] nachts ihre sämlichten Update macht (AV, eigenes Sicherheitspaket etc. etc) und auch noch der DiademDataFinder läuft, kommt nicht mal mehr der DAQmx nach. Wacko


Boolesche Schaltfläche automatisch zurücksetzen - TSC - 02.07.2009 10:32

@role: das einfügen von Wait(0) bringt bei mir gar nichts. meine cpu auslastung steigt unmittelbar auf 50%. gebe ich die eine ms an, bin ich bei 0-3%. warte ich gar nicht, habe ich die gleiche auslastung wie mit 0ms.

wo also liegt der vorteil von 0ms warten?

LG
Torsten


Boolesche Schaltfläche automatisch zurücksetzen - IchSelbst - 02.07.2009 11:12

' schrieb:wo also liegt der vorteil von 0ms warten?
Es gibt einen Unterschied zwischen 50% Auslastung und 50% Auslastung.

Folgender Fall: Ein Thread dauert 10µs. Jetzt kann ich folgendes machen. 10µs Thread, 1ms Pause, 10µs, 1ms Pause und so weiter. Hier ist die CPU-Auslastung 1%. Was aber wichtig ist: In der Pause kommen andere Thread dran!
Mach ich jetzt 10µs Thread, 0ms Pause, 10µs, 0ms Pause usw. ist die Auslastung 100%! (50% wegen 2 Cores). Aber: in der Pause - eigentlich am Pausenbeginn alle 10µs - findet ein Taskswitch statt. So kommen alle Threads trotz Belastung von 100% immer dran. Es kommt also weniger auf die Länge der Pause an, als vielmehr darauf, dass die überhaupt stattfindet.

Wenn mein Thread aber tatsächlich 100ms dauert, dann kommt während dieser 100% Auslastung kein anderer Thread dran! Und dann hängt der Rechner!

Einmal entsteht die 100% durch die Aufsummierung vieler, kurzer Wiederholungen, einmal ist die 100% ein einziger Durchlauf. Dieser Unterschied ist wichtig, aber leider nicht erkennbar.

Meine Delphi-Programme laufen alle auf 100%. Mach ich dann ein zweites, drittes und viertes auf, geht sofort die Auslastung pro Ausführung auf 50%, 33% bzw 25% zurück. An den Programmen selbst merkt man nichts. Und dass der Prozessor ausgelastet ist merkt man nur am Lüfter.

Bei LV sieht die Sache etwas anders aus. Wenn da wegen Graph-Refresh mal 30% stehen, dann ist das keine Aufsummierung vieler gleicher Thread, sondern da arbeitet der Graph tatsächlich so viel.


Boolesche Schaltfläche automatisch zurücksetzen - andi neu - 02.07.2009 12:10

Mit der Auslastung ist es hier relativ egal. Ich muss nur immer schaun ob grad Antivir im hintergrund den scan laufen hat, dann geht gar nichts mehrSmile

Wäre hier eine Verzögerung die Lösung für mein neues Problem ? http://www.LabVIEWforum.de/index.php?showt...amp;#entry75697

Find ich toll, daß hier so viele Leute Neulingen bei Problemen helfen, danke Leute Cool