Als «multithreading» getaggte Fragen

Multithreading-bezogene Fragen, einschließlich Technik-, Struktur- und Sicherheitsprobleme.

3
Warum wurde Python mit der GIL geschrieben?
Die globale Interpreter-Sperre (GIL) wird anscheinend häufig als Hauptgrund dafür angeführt, dass Threading und dergleichen in Python schwierig ist - was die Frage aufwirft, warum dies überhaupt geschehen ist. Da ich kein Programmierer bin, habe ich keine Ahnung, warum das so ist - was war die Logik, die dahinter steckt, …


4
Was ist ein Thread-Pool?
Wie würde man einen Threadpool implementieren? Ich habe auf Wikipedia für "Threadpool" gelesen, kann aber immer noch nicht herausfinden, was man tun sollte, um diese Frage zu lösen (möglicherweise, weil ich nicht ganz verstanden habe, was ein Threadpool in einfachen Worten ist). Kann mir jemand im Klartext erklären, was ein …

3
Wie läuft ein einzelner Thread auf mehreren Kernen?
Ich versuche auf hoher Ebene zu verstehen, wie einzelne Threads über mehrere Kerne laufen. Unten ist mein bestes Verständnis. Ich glaube jedoch nicht, dass es richtig ist. Basierend auf meiner Lektüre von Hyper-Threading scheint das Betriebssystem die Anweisungen aller Threads so zu organisieren, dass sie nicht aufeinander warten. Dann organisiert …

15
Wie wichtig ist Multithreading in der aktuellen Software-Branche? [geschlossen]
Ich habe fast 3 Jahre Erfahrung mit dem Schreiben von Webanwendungen in Java unter Verwendung von MVC-Frameworks (wie Struts). Ich habe bisher noch nie Multithread-Code geschrieben, obwohl ich Code für große Einzelhandelsketten geschrieben habe. Ich bekomme während eines Interviews ein paar Fragen zum Thema Multithreading und beantworte sie normalerweise (meist …

1
Gibt es einen Unterschied zwischen Fasern, Koroutinen und grünen Fäden und wenn ja, um welche handelt es sich?
Ich habe heute mehrere Artikel im Internet über Fasern, Koroutinen und grüne Fäden gelesen, und es scheint, dass diese Konzepte sehr viel gemeinsam haben, aber es gibt leichte Unterschiede, insbesondere, wenn wir über Fasern und Koroutinen sprechen. Gibt es eine präzise und korrekte Zusammenfassung dessen, was sie voneinander unterscheidet? Update: …


6
Testen der Bedingungen für Rennen mit mehreren Threads
Lesen Sie die Kommentare zu dieser Antwort , insbesondere: Nur weil Sie keinen Test schreiben können, heißt das noch lange nicht, dass er nicht kaputt ist. Undefiniertes Verhalten, das normalerweise wie erwartet funktioniert (C und C ++ sind voll davon), Rennbedingungen, mögliche Neuordnung aufgrund eines schwachen Speichermodells ... - CodesInChaos …

16
Sollte ich auf Rennbedingungen achten, die mit ziemlicher Sicherheit nicht eintreten können?
Betrachten wir eine GUI-Anwendung, bei der der Hauptthread die Benutzeroberfläche fast augenblicklich aktualisiert und ein anderer Thread Daten über das Netzwerk abruft oder es garantiert 5-10 Sekunden dauert, bis der Auftrag abgeschlossen ist. Ich habe viele verschiedene Antworten dafür erhalten, aber einige Leute sagen, wenn es sich um eine Rassenbedingung …

8
Was sind die Nachteile einer JavaScript-Laufzeitimplementierung mit mehreren Threads? [geschlossen]
Ich habe in der vergangenen Woche an einer JavaScript-Laufzeitimplementierung mit mehreren Threads gearbeitet. Ich habe einen in C ++ mit JavaScriptCore und Boost erstellten Proof of Concept. Die Architektur ist einfach: Wenn die Laufzeit die Auswertung des von ihr gestarteten Hauptskripts beendet und sich einem Thread-Pool anschließt, der Aufgaben aus …


1
Sind Go-langs-Goroutine-Pools nur grüne Fäden?
Der Kommentator hier kritisiert folgende grüne Fäden: Ich wurde anfangs mit dem N: M-Modell verkauft, um ereignisgesteuertes Programmieren ohne die Rückruf-Hölle zu ermöglichen. Sie können Code schreiben, der wie schmerzhafter alter Prozedurcode aussieht, aber darunter verbirgt sich Magie, die das Wechseln von Benutzerbereichsaufgaben verwendet, wenn etwas blockieren würde. Klingt gut. …

10
Warum sollte Ihr Code nicht 100% CPU verwenden? [geschlossen]
Ich spreche speziell von einem C # .NET 4-Programm, das unter Windows XP oder höher ausgeführt wird, aber auch allgemeine Antworten sind akzeptabel. Nehmen Sie ein bereits optimiertes und effizientes Programm an. Das Problem liegt hier ausschließlich an den Auswirkungen einer hohen CPU-Auslastung auf die Hardware und daran, ob ein …
42 c#  multithreading  cpu  usage 

5
Beseitigt die Unveränderlichkeit die Notwendigkeit von Sperren bei der Multiprozessor-Programmierung vollständig?
Teil 1 Eindeutig minimiert Unveränderlichkeit die Notwendigkeit von Sperren bei der Multiprozessor-Programmierung. Beseitigt sie diese Notwendigkeit, oder gibt es Fälle, in denen Unveränderlichkeit allein nicht ausreicht? Es scheint mir, dass Sie die Verarbeitung und Kapselung des Status nur so lange aufschieben können, bis die meisten Programme tatsächlich etwas tun müssen …

4
Warum ist der Aufrufer für die Gewährleistung der Thread-Sicherheit bei der GUI-Programmierung verantwortlich?
Ich habe an vielen Stellen festgestellt, dass es nach kanonischer Weisheit 1 in der Verantwortung des Aufrufers liegt, sicherzustellen, dass Sie sich beim Aktualisieren von UI-Komponenten im UI-Thread befinden (insbesondere in Java Swing, dass Sie sich im Event-Dispatch-Thread befinden ). . Warum ist das so? Der Event-Dispatch-Thread ist ein Problem …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.