Multithreading-Programmierung ist nicht ganz so einfach, wie man am Anfang vielleicht vermuten mag.
Das geschickte Anwenden von Mutexen, Semaphoren und den ganzen anderen Dingen, die PB nativ nicht bietet, gehört zur Planung dazu.
Ich habe jetzt mal grob über den Thread geschaut und festgestellt, dass es um ein Schach-Spiel geht. Das lässt sich im Grunde leicht parallisieren. Ich könnte dir helfen, wenn du mir genau sagst auf welche Datenstrukturen du lesend oder schreibend zugreifen musst. Mittlerweile gibt es bei mir im Studium immer mehr Projekte, in denen es um Nebenläufigkeit geht. Es gibt sogar eine extra Vorlesung dafür. Deswegen würde ich mich qualifiziert genug dafür einschätzen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
@NicTheQuick
Ich danke dir für dein Angebot und nehme deine Hilfe auch gerne an
Ich weis ja jetzt nicht genau wie weit du darüber informiert bist aber das Programm ist nicht mehr in der Planung sondern als Singlecoreversion läuft es ja schon. Es gibt dazu auch einen Thread hier im Forum http://www.purebasic.fr/german/viewtopi ... 12&t=20994
Und mittlerweile ist das Programm auch sehr umfangreich und es würde wohl den Rahmen sprengen das alles hier ins Forum reinzustellen deshalb würde ich vorschlagen das ich dir den Quellcode zukommen lasse und wir können dann zusammen die Spielstärke des Programms verbessern bzw. es Multicore fähig machen. Ja und falls du lust dazu hast richtig mit in das Projekt einzusteigen würde mich das sehr freuen.
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Achja, den Thread kenne ich. Leider konnte ich das Schach nie testen, weil ich momentan nur Linux drauf habe. Windows werde ich höchstens irgendwann mal in einer VirtualBox laufen lassen, wenn ich mir mal eine größere interne Festplatte leiste.
Aber solange dein Quellcode einigermaßen aufgeräumt ist, würde das vorerst mal reichen. Vielleicht kann ich ihn dann ja gerade noch für Linux anpassen.