Es ist fast immer einfacher, nacheinander zu denken und diese Logik später zu ändern, um die Verwendung von Threads zu verbessern. Und, wie der Ausdruck sagt: "Wenn es nicht kaputt ist, repariere es nicht." Die meisten Programmierer verwenden keine Threads, nur weil sie nicht benötigt werden.
Wenn Sie sich mit ihnen wohler fühlen, haben Sie mehr Kraft. Beachten Sie jedoch, dass Threads Ihr Programm mit ziemlicher Sicherheit verlangsamen, wenn sie keinen Geschwindigkeitsschub durch Beseitigung von Engpässen bieten.
Bedenken Sie auch, dass Systeme, die nur eine CPU für einen Prozess verwenden, mehrere Threads durch einen einzigen Thread simulieren, um Ressourcen zu sparen (dies ist bei modernen Computern nicht häufig der Fall, obwohl Smartphone-Anwendungen immer noch stark von diesem Missbrauch betroffen sind). In diesem Fall ist es sogar langsamer , wenn Sie Engpässe durch die Verwendung von Threads beseitigen, als wenn Sie überhaupt keine Threads verwendet haben.
Und, vielleicht der subtilste Grund, vorsichtig mit Threads umzugehen, aber sicherlich nicht der unwichtigste, Threads neigen dazu, das zu tun, was Sie nicht erwarten. Ja, wenn Sie Vorsichtsmaßnahmen treffen, sollten Sie in Ordnung sein. Ja, wenn Ihre Threads nicht in Variablen schreiben, die von Threads gemeinsam genutzt werden, sollten Sie in Ordnung sein. Allerdings sind Thread-bezogene Bugs sehr schwer zu finden. Da ich der Meinung bin, dass ein Programmierer die Möglichkeit, Fehler im Code zu erstellen, niemals vollständig ausschließen kann und daher ein Programmierer Maßnahmen zum Schutz vor möglichen Fehlern ergreifen sollte, anstatt sich darauf zu konzentrieren, diese Fehler vollständig zu beseitigen, sollten Sie diese Idee auf jeden Fall auf Hard- um auch Thread-Bugs zu finden. Mit anderen Worten, wissen Sie, dass trotz Ihrer allerbesten Bemühungen,
Solltest du trotzdem Threads verwenden? Nun, ein gesundes Wissen über Threads ist sicherlich keine schlechte Sache, besonders wenn Sie gut darin werden. Die Bewegung in letzter Zeit war jedoch in Richtung Singlethread-Sprachen wie node.js. Einer der Hauptvorteile eines einzelnen Threads besteht darin, dass er einfach zu skalieren ist und bestimmte Optimierungen vorgenommen werden können, wenn Sie wissen, dass die Anweisungen sequentiell ausgeführt werden sollen (auch wenn Optimierungen bedeuten können, dass Anweisungen parallel ausgeführt werden können asynchron ausgeführt werden).
Das heißt, ich sage tun, was für Sie am bequemsten ist. Nach meiner Erfahrung hat das Schreiben eines Programms, das Sie verstehen, eine höhere Priorität, als es schneller arbeiten zu lassen. Verwenden Sie Threads nur, wenn Sie der Meinung sind, dass sie Ihnen beim Schreiben des Programms helfen, und nicht, weil Sie möchten, dass es schneller funktioniert, da Sie sich nicht so sehr um die Leistung sorgen sollten, wie Sie das Programm schreiben (Optimierung ist wichtig, aber es ist wichtig) kann auch warten).