ich hätte da eine Frage zum Thema Multithreading.
Ist es besser ein Programm in diverse Threads aufzuteilen oder doch versuchen bei einem zu bleiben?
Beides. Es hängt davon ab, was du machen willst.
Generell bedeutet Multitasking mehr Verwaltungsaufwand, das Problem ist aber das ALLE Modernen Computer Multicore-Prozessoren haben und da Single-Thread Task eben nur auf einem laufen werden, sprich du wirst nur die Rechenleistung eines einzigen Prozessors nutzen können, was z.B bei einem 32-Core System gerade mal 3,125% wären.
Ein weiteres ist, das alle modernen OS tasks schlafen legen, wenn sie gerade nix zu tun haben oder auf ein Event warten, das hilft Strom und Leistung sparen und verbessert die Perfomance des Computers. Auch kannst du mit Multitasking Programmteile ansprechbar halten, weil du aufwendige Berechnungen in einen anderen Task verschoben hast, dies ist z.B für Oberflächen unabdinglich, weil es meistens schlecht für den Nutzer ist, wenn sich das Programm gar nicht mehr rührt, wenn mal irgendetwas länger als 20ms dauert.
Insgesamt gibt es also nicht viele Argumente die für Single-Thread Programme sprechen, da dieser wirklich nur bei kleinen Dienstprogrammen ohne großen rahmen sinn machen und du eh früher oder später Multitasking benötigst, da dich das OS, deine GUI und die Bedienbarkeit deines Programmes dazu zwingen.