Als «multithreading» getaggte Fragen

Multithreading ist die Fähigkeit eines Computers oder eines Programms, gleichzeitig oder asynchron zu arbeiten, indem mehrere gleichzeitige Ausführungsströme verwendet werden (im Allgemeinen als Threads bezeichnet).

13
Kann num ++ für 'int num' atomar sein?
Im Allgemeinen ist for int num, num++(oder ++num) als Lese-, Änderungs- und Schreiboperation nicht atomar . Aber ich sehe oft, dass Compiler, zum Beispiel GCC , den folgenden Code dafür generieren ( versuchen Sie es hier ): num++Können wir daraus schließen, dass Zeile 5, die einer Anweisung entspricht, in diesem …

6
Was passiert mit einem getrennten Thread, wenn main () beendet wird?
Angenommen, ich starte a std::threadund dann detach()es, sodass der Thread weiterhin ausgeführt wird, obwohl der Thread, der std::threadihn einmal dargestellt hat, außerhalb des Gültigkeitsbereichs liegt. Angenommen, das Programm verfügt nicht über ein zuverlässiges Protokoll zum Verbinden des getrennten Threads 1 , sodass der getrennte Thread beim main()Beenden weiterhin ausgeführt wird. …

9
Best Practice: AsyncTask während der Orientierungsänderung
AsyncTask ist eine großartige Sache, um komplexe Aufgaben in einem anderen Thread auszuführen. Wenn sich jedoch die Ausrichtung oder eine andere Konfiguration ändert, während das AsyncTasknoch ausgeführt wird, wird der Strom Activityzerstört und neu gestartet. Wenn die Instanz von AsyncTaskmit dieser Aktivität verbunden ist, schlägt sie fehl und verursacht ein …

5
Gleichzeitiges HashSet <T> in .NET Framework?
Ich habe die folgende Klasse. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); } Ich muss das Feld "Daten" aus verschiedenen Threads ändern, daher möchte ich einige Meinungen zu meiner aktuellen thread-sicheren Implementierung haben. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); public void Add(string Val){ lock(Data) Data.Add(Val); } public …


6
Wann soll enumerateObjectsUsingBlock vs. für verwendet werden?
Neben den offensichtlichen Unterschieden: Verwenden enumerateObjectsUsingBlockSie diese Option, wenn Sie sowohl den Index als auch das Objekt benötigen Nicht verwenden, enumerateObjectsUsingBlockwenn Sie lokale Variablen ändern müssen (ich habe mich geirrt, siehe bbums Antwort) Wird enumerateObjectsUsingBlockallgemein als besser oder schlechter angesehen, wann for (id obj in myArray)auch funktionieren würde? Was sind …



5
Sind nicht synchronisierte statische Methoden threadsicher, wenn sie statische Klassenvariablen nicht ändern?
Ich frage mich , ob Sie eine statische Methode, die ist nicht synchronisiert, aber nicht nicht ändern , dass statische Variablen ist es Thread-sicher? Was ist, wenn die Methode lokale Variablen darin erstellt? Ist der folgende Code beispielsweise threadsicher? public static String[] makeStringArray( String a, String b ){ return new …


11
Warten auf eine Liste der Zukunft
Ich habe eine Methode, die eine Listder Futures zurückgibt List&lt;Future&lt;O&gt;&gt; futures = getFutures(); Jetzt möchte ich warten, bis entweder alle Futures erfolgreich verarbeitet wurden oder eine der Aufgaben, deren Ausgabe von einer Zukunft zurückgegeben wird, eine Ausnahme auslöst. Selbst wenn eine Aufgabe eine Ausnahme auslöst, macht es keinen Sinn, auf …

26
Es wurde versucht, geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass der andere Speicher beschädigt ist
Ich hoffe, jemand kann mich aufklären, was diesen Fehler möglicherweise verursachen könnte: Es wurde versucht, geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass der andere Speicher beschädigt ist. Ich kann die Postleitzahl nicht wirklich posten, da dieser Fehler in einem beliebigen Bereich der Anwendung …


11
"Java DateFormat ist nicht threadsicher" Wozu führt das?
Alle warnen davor, dass Java DateFormat nicht threadsicher ist, und ich verstehe das Konzept theoretisch. Aber ich kann mir nicht vorstellen, mit welchen tatsächlichen Problemen wir aufgrund dessen konfrontiert werden können. Angenommen, ich habe ein DateFormat-Feld in einer Klasse und dasselbe wird in verschiedenen Methoden in der Klasse (Formatieren von …

5
Erfassen der Node JS-Alternative zum Multithreading
Wenn ich richtig verstehe, blockiert Node JS nicht ... anstatt auf eine Antwort von einer Datenbank oder einem anderen Prozess zu warten, wurde es zu etwas anderem weitergeleitet und später erneut überprüft. Es ist auch Single-Threaded. Dies bedeutet also, dass ein bestimmter Node JS-Prozess einen einzelnen CPU-Kern vollständig und effizient …

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.