Probleme beim Ausführen

Das starten der Threads ist schon okay.

Laufen tut das Spiel bei mir auch nicht. Was aber auch kein Wunder ist, da ich einen Dual-Core habe und die Threads damit wirklich gegeneinander laufen können. Das Problem ist dass du ohne jegliche Synchronisierung auf die selben Variablen von allen Threads zugreifst.

Dieses Problem solltest du erstmal beheben, denn so wie ich das spontan sehe, ist es für die meisten Variablen auch gar nicht nötig. Jeder Ball sollte seinen eigenen Status und seine eigenen Variablen haben.

Als Regel: Ohne Synchronisierung darfst du nur auf Variablen zugreifen, die nicht mehr veränderlich sind.
Bei einer InterruptedException in einem Thread, solltest du die Endlosschleife verlassen und nicht nur den Fehler ausgeben :)
 
SPiKEe: Das dachte ich mir auch ;)

Irgendwo hier im Forum gibt's schon nette Pong-Implementierung, also neu schreiben von dir hat für ihn ja keinen Lerneffekt :)
 
doppel-post FTW

was das mit den threads angeht ... ich habs mal anstatt mit anonymen-inneren-klassen mal mit diskreten klassen probiert *also nichts verschachtelt sondern dierekt als eigene klasse* ... effekt leider der selbe
das man threads auch so deklarieren und starten kann wusste ich nicht ... aber wenns laut dir keinen unterschied macht glaub ich dir das einfach mal

das mit der parallel-läufigkeit auf multi-core systemen halte ich für wenig warscheinlich
ich habe es soweit zum laufen bekommen das ich ungefähr eine runde lange hin-und-her spielen konnte ...
so bald allerdings der ball ausm spiel lief is das teil in dem sinne nicht abgestürzt ... ich konnte also mit der funktion einen neuen sich sogar bewegenden ball hinzufügen ... aber irgendwann nahmen die updates dermaßen zu das die app garnicht mehr dazu kam zu zeichnen ... hier muss auf jedenfall synchronized werden ...
und ich habe nur ein 1-core-system ...

und das mit der neu-implementation von mir war auch eingentlich mehr als hilfe-stellung gemeint ... nicht das ich seine arbeit mache ...
das es hier beispiele noch und nöcher gibt ... ich denke da wird die sufu ordentlich was liefern können ...

also ... um mich noch mal etwas verständlicher auszudrücken

hilfe von uns : ja ...
abnehmen von arbeit : nein

entscheid also was du möchtest
 
nee wenn dann mach ich das selbst
aber ich versteh nich warum dass dann bie uns in der Schule an dem einen Platz ohne Probleme funktioniert hat .... ich konnte mit allen Bällen spielen und es ist auch nicht abgestürzt oder sonstiges .... egal ob ich hin und her gespielt hab oder ob der Ball raus geflogen ist ..... das hat alles funktioniert
 
Inkorrekte Programm die Threads verwenden können durchaus auf einem System laufen und auf dem anderen nicht.... Solang das Programm nicht korrekt ist braucht man da nicht weiter drüber nach grübeln warum das so ist, da dies viel zu viel mit dem Timing der einzelnen Komponenten im System zu tun hat.
 
Zurück