Schleife + Timer

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von metakilla.

    Schleife + Timer

    Hallo,

    habe einen BGW der mit einer Schleife derzeit ein Verzeichnis überprüft. Da dieses Verzeichnis jedoch auf einer Netzwerkfreigabe liegt, als Netzlaufwerk eingebunden... Ist die Netzwerklast zu groß.
    War mir schon klar, jedoch erst mal zu Testzwecken.

    Derzeit, wenn der BGW aktiv ist läuft über eine While SChleife eine Abfrage bw. wird ein Verzeichnis überprüft

    Nun würde ihc das aber gerne umstellen, daß diese Schleife nicht permanent am rödeln ist...

    Würde das gerne umstellen, dass die SChleife nur alle 3 sec. ausgeführt wird.

    Timer habe ich bereits gesetzt, aber mit fehlt noch ein Lösungsansatz...

    Hättet Ihr da vielleicht ne Idee?

    Alex

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „lris08“ ()

    da ich im Moment keine IDE zur Hand habe, versuche ich dir so zu helfen.

    VB.NET-Quellcode

    1. Sub Form_Load()
    2. Timer1.Interval = 3000
    3. End Sub
    4. Sub Timer1_Tick()
    5. If Zugriff = True Then
    6. mach dies
    7. ELse
    8. mach jenes
    9. End if
    10. End Sub


    hoffe dies hilft dir weiter. Grüße meta :thumbup:

    lris08 schrieb:

    Nun würde ihc das aber gerne umstellen, daß diese Schleife nicht permanent am rödeln ist...

    Wenn Du eh schon einen BGW am laufen hast, solltest Du den BGW wie Du schon vorgeschlagen hast am Ende oder Anfang der Schleife mit Thread.Sleep(3000) pausieren. Das senkt die Prozessorlast dramatisch ...

    Sogar ein Thread.Sleep(0) senkt es erheblich, da dann der Thread die Kontrolle an das Betriebssystem zurückgibt und erlaubt andere Threadsd auszuführen.
    Und jetzt kommen wir zur Psychologie in der Programmierung. Wenn ein Enduser keine Rückmeldung bekommt, was gerade passiert, denkt er, dass sein Programm gerade am abstürzen ist und klickt wie wild auf der Form herum. Wenn du jedoch im Form.Text augibst, beispielsweise welcher Datensatz gerade kopiert wird, kann der User gar nicht in die Versuchung kommen, irgendwie wie wild auf der Form herumzuklicken.

    Grüße meta :thumbup:
    Hier bin ich doch deinem Rat gefolgt und habe den BGW "entsorgt". Bin nun auf FileSystemWatcher umgestiefen und das funktioniert wesentlich besser...

    Hab zwar noch leichte Anfangsschwierigkeiten, aber das werde ich auch noch hinbekommen :)

    Danke aber für den Tip den BGW zu "entsorgen"