befehl immer wieder abfragen



  • hallo,

    In mein programm sende ich einen Befehl an das gerät um infos ,die sich ständig ändern zu bekommen.Und das also irgendwie im hintergrund(unabhängig von andere befehlen ) immer wieder laufen lassen bis es keine verbindung mehr gibt.
    Mit Timer habe ich gemacht und läuft aber kann jemand mir bitte sagen bzw. eine beispielcode geben wie man sowas mit thread, invike usw. macht



  • 😕

    http://msdn.microsoft.com/de-de/library/ms173178(v=vs.80).aspx

    Google: "c# Thread" gibt genug Beispiele



  • Wieso willst du mit extra Threads arbeiten? Das ist total unsinnig in dem Fall, das ist ein typischer Fall für einen Timer. In einem Thread ne Dauerschleife zu starten und dann vielleicht mit Thread.Sleep ne gewisse Zeit warten mach absolut nie Sinn.

    Unix-Tom schrieb:

    😕

    Die Frage hat er auch schon woanders gestellt, und dort war die Reaktion nicht viel anders. Sowas von konfus beschrieben...



  • Es macht schon Sinn Threads zu implementieren.

    Ein Timer wird i.R. in der Form gemacht.
    Was wenn die Funktion lange läuft. Dies blockiert die Form.
    Form ist auch nur ein Thread.



  • Es gibt im Framework mittlerweile mindestens 4 Timer und anscheinend meinst du den Timer in System.Windows.Forms. Der und das WPF Pendant DispatcherTimer sind die einzigen beiden die Arbeit standardmäßig im GUI Thread ausführen. Die eigentlichen Timer in System.Timers und Sytem.Threading tun das nicht. Beide nutzen Threads aus dem Threadpool für die entsprechende Arbeit. Man brauch nie eigene Threads dazu, man muss nur den richtigen Timer verwenden.

    Eigene Threads haben das Problem, das man eigentlich gar keinen genauen Timer bauen kann. Man unterliegt immer dem Wirkungsbreich des Threadschedulers. Die Standardvariante mit Thread.Sleep hat das große Problem das Sleep nur ne Mindestwartezeit angibt, die reale Zeit, wann der Thread wieder rankommt durch den Scheduler, kann wesentlich größer ausfallen. (Okay, bei Schlafzeiten im Sekundenbereich fällts nicht auf :))

    Die richtigen Timer benutzen dagegen die Hardwaremöglichkeiten für Timer die jeder PC bietet.


Anmelden zum Antworten