Auf Thema antworten

Ja es ist leider wirklich eine NullPointerException. Die Liste erstelle ich direkt vorher. Also ebenfalls in der Main Methode.

Mir ist gerade noch aufgefallen dass ich beim posten wohl was falsch gemacht habe. Der Fehler tritt nicht in Zeile 30 sondern in Zeile 31 auf. Da ist ganz oben wohl noch eine Zeile mit dazu gekommen als ich den Code kopiert habe. Eine Zeile davor greift er noch ohne Probleme auf die Größe der Liste zu. Und der Fehler kommt wie gesagt nicht in allen Threads wenn er denn überhaupt kommt.


Mir ist gerade aufgefallen, dass wenn ich das immer in Blöcken berechnen lasse es doch nicht möglich ist bei den kleineren Zahlen die Primzahlen richtig berechnen zu lassen. Denn wenn ich z.B. zwei Threads starte (einer von 2 - 1000 der andere von 1001 - 2000) ist die Liste mit allen Primzahlen noch leer. Also würde der Algorithmus in dem zweiten Thread nicht richtig rechnen, da er keine Liste mit den kleinen Primzahlen hat. Somit wären laut dem Algorithmus alle Zahlen Primzahlen.


Das mit der Wurzel von n hört sich gut an. Das werde ich gleich mal abändern. Das Sieb des Erathosthenes braucht aber glaube ich mehr Rechenzeit als mein Algorithmus da man auch jedes Vielfaches markieren muss.



Oben