C# Threads alternative

JNike

New member
2 Mai 2012
1
0
Hallo,

da ich derzeit ein Spiel in C# programmiere, im XNA Framework, suche ich alternativen zu Threads. Da ich während der ganzen Spielzeit 4 While Schleifen durchlaufen lassen muss, die Schleifen womit man überprüft ob die Figur nach Links, rechts, unten oder oben sich bewegt, suche ich halt eben aus diesem Grund alternativen.

Ich habe schon von Events und Delegaten gehört, versucht genauso, aber mir ist aufgefallen, das bleibt stecken aufgrund der laufenden While Schleife :(.

Hat da jemand eine Möglichkeit womit man die While Schliefe parallel zu den anderen im Hintergrund laufen lassen kann ohne die Threads? Sie fressen mein CPU um ehrlich zu sein, 4 Schleifen von ungefähr 200 die bald kommen werden, werden genutzt!

Ich bitte euch jegliche Möglichkeiten mir mitzuteilen, danke!

Mfg, JNike. :p
 
Zuletzt bearbeitet von einem Moderator:
versteh ich jetzt nicht ganz, was genau macht so eine schleife, müsste doch mit einem Timer oder einem Thread machbar sein... ein bisschen code von dieser kontrolle, ob sich die figur bewegt wäre nützlich!
 
Sie fressen mein CPU um ehrlich zu sein, [...]
Tust du denn was oder loopst du einfach bis in alle Ewigkeit und heizt den Rechner damit? :mrgreen:

Nach Events solltest du mal gucken. Statt einem
PHP:
for(;;) {
  if(somethingToDo())
    doIt();
  // heat CPU
}
wäre
PHP:
for(;;) {
  waitForSomethingToDo(); // CPU sleeps till event
  doIt();
}
angebrachter.

In der MSDN wirst du fündig im Kapitel Synchronisation. Hier mal Beispielcode, um das Konzept zu sehen:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms687055%28v=vs.85%29.aspx