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).
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 …
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. …
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 …
Ich habe die folgende Klasse. class Test{ public HashSet<string> Data = new HashSet<string>(); } 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<string> Data = new HashSet<string>(); public void Add(string Val){ lock(Data) Data.Add(Val); } public …
Gibt es in GDB einen äquivalenten Befehl zu WinDbgs "! Process 0 7"? Ich möchte alle Threads in einer Dump-Datei zusammen mit ihren Backtraces in GDB extrahieren. "info threads" gibt die Stack-Traces nicht aus. Gibt es einen Befehl, der dies tut?
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 …
In einer einfachen Sprache (C, C ++ oder was auch immer): Ich habe die Wahl zwischen einer Reihe von Mutexen (wie das, was mir pthread gibt oder was die native Systembibliothek bietet) oder einer einzelnen für ein Objekt. Wie effizient ist es, einen Mutex zu sperren? Dh wie viele Assembler-Anweisungen …
Wie erhält man einen thread-sicheren Zähler in C # mit der bestmöglichen Leistung? Das ist so einfach wie es nur geht: public static long GetNextValue() { long result; lock (LOCK) { result = COUNTER++; } return result; } Aber gibt es schnellere Alternativen?
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 …
Ist die folgende Implementierung des Singleton(Meyers 'Singleton) -Threads mit verzögerter Initialisierung sicher? static Singleton& instance() { static Singleton s; return s; } Wenn nicht, warum und wie kann der Thread sicher gemacht werden?
Ich habe eine Methode, die eine Listder Futures zurückgibt List<Future<O>> 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 …
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 …
Erg, ich versuche, diese beiden Methoden mit Reflector in der BCL zu finden, kann sie aber nicht finden. Was ist der Unterschied zwischen diesen beiden Schnipsel? EIN: IEnumerable<string> items = ... Parallel.ForEach(items, item => { ... }); B: IEnumerable<string> items = ... foreach (var item in items.AsParallel()) { ... } …
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 …
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 …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.