Wo kondinuirliche Berechnung plazieren?



  • hi,

    wo plaziert man Code in einer Windows-GUI-Anwendung, der Ständig laufen soll und nicht nur wenn ein Event anliegt?

    Ich will eine Simulation laufen lassen.

    Danke für eure Hilfe!



  • in einem thread, falls die berechnung nicht das arbeiten an dem gui stören soll. aber vielleicht gibt es auch eine andere / bessere lösung. du kannst ja mal gerne dein problem detailiert beschreiben.



  • Also.
    Ich simuliere Kleine Lebewesen.
    Pro "Runde" brauch ich in etwa 5ms.
    Früher hab ich die berechnungen einfach in einer nicht wartenden Messageloop gepackt. Aber die "seh" ich nirgends bei c#.
    Ich will es nicht unbedingt parallel laufen lassen. Da die daten dann gleichzeitig bearbeitet und gelesen werden würden. z.B. würden visualisierung und Berechnung gleichzeitig laufen. Das würde bestimm zu fehlern führen.



  • Du kannst einen eigenen Thread losschicken, der die Bearbeitung kontinuierlich fortsetzt.

    Du kannst aber auch einen Timer einsetzen und bei jedem Auslösen des Timerevents exakt einen Berechnungsdurchgang laufen lassen und die Daten dann anzeigen.

    Letzteres ist vielleicht etwas einfacher, was die Synchronität anbelangt. Bei einem zweiten Thread mußt Du natürlich synchronisieren, wenn Du die Daten abgreifen willst, weil Du ja nie weißt, wie weit der Thread gerade mit seiner laufenden Berechnung ist.


Anmelden zum Antworten