Articles of Multithreading

Doppeltes Checked Locking in Singleton

Hier ist meine benutzerdefinierte class für Singleton-Muster. In diesem Code verwende ich die doppelte Überprüfung wie unten beschrieben. Während ich viele Beiträge in einer Quelle lese, sagen sie, dass doppelte Überprüfung nützlich ist, weil sie verhindert, dass zwei gleichzeitige Threads gleichzeitig zwei verschiedene Objekte erzeugen. public class DoubleCheckLocking { public static class SearchBox { private […]

C # Thread-Beendigung und Thread.Abort ()

In MSDN beschreibt die Beschreibung der Thread.Abort () -Methode: “das Aufrufen dieser Methode beendet normalerweise den Thread”. Warum nicht immer? In welchen Fällen wird der Thread nicht beendet? Gibt es eine andere Möglichkeit, Threads zu beenden?

Atom UPDATE .. SELECT in Postgres

Ich baue einen Warteschlangenmechanismus auf. Es gibt Datenzeilen, die verarbeitet werden müssen, und ein Status-Flag. Ich verwende ein update .. returning Klausel, um es zu verwalten: UPDATE stuff SET computed = ‘working’ WHERE id = (SELECT id from STUFF WHERE computed IS NULL LIMIT 1) RETURNING * Ist das verschachtelte Auswahlteil das gleiche Schloss wie […]

Ist es sicher, Werte von einer java.util.HashMap aus mehreren Threads zu erhalten (keine Änderung)?

Es gibt einen Fall, in dem eine Map erstellt wird und nach der Initialisierung wird sie nie wieder geändert. Es wird jedoch nur über get (key) auf mehrere Threads zugegriffen. Ist es sicher, auf diese Weise eine java.util.HashMap zu verwenden? (Derzeit verwende ich glücklicherweise eine java.util.concurrent.ConcurrentHashMap , und habe keine messbare Notwendigkeit, die performance zu […]

Abrufen der Thread-ID aus einem Thread

In C # beim Debuggen von Threads können Sie beispielsweise die ID jedes Threads sehen. Ich konnte keinen Weg finden, den gleichen Thread programmatisch zu bekommen. Ich konnte nicht einmal die ID des aktuellen Threads (in den Eigenschaften von Thread.currentThread ) Thread.currentThread . Also, ich frage mich, wie Visual Studio die IDs der Threads erhält, […]

Verwenden von ThreadPool.QueueUserWorkItem in ASP.NET in einem Szenario mit hohem Datenverkehr

Ich hatte immer den Eindruck, dass die Verwendung des ThreadPools für (sagen wir mal nicht kritische) kurzlebige Hintergrundaufgaben als Best Practice galt, sogar in ASP.NET, aber dann stieß ich auf diesen Artikel , der etwas anderes vermuten lässt Argument, dass Sie den ThreadPool verlassen sollten, um mit ASP.NET-bezogenen Anfragen umzugehen. So habe ich bisher kleine […]

Thread-Pooling in C ++ 11

Relevante Fragen : Über C ++ 11: C ++ 11: Std :: Thread gepoolt? Wird async (launch :: async) in C ++ 11 Thread-Pools überflüssig machen, um teure Threads zu vermeiden? Über Boost: C ++ boost Thread wiederverwendet Threads boost :: thread und erstelle einen Pool von ihnen! Wie erhalte ich einen Pool von Threads, […]

“Java DateFormat ist nicht threadsicher” was bringt das?

Jeder warnt davor, dass Java DateFormat nicht threadsicher ist und ich verstehe das Konzept theoretisch. Aber ich bin nicht in der Lage zu visualisieren, welche tatsächlichen Probleme wir dadurch haben können. Angenommen, ich habe ein DateFormat-Feld in einer class und dasselbe wird in verschiedenen Methoden in der class (Formatierungsdaten) in einer Multi-Thread-Umgebung verwendet. Wird dies […]

Ist Task.Factory.StartNew () garantiert, einen anderen Thread als den aufrufenden Thread zu verwenden?

Ich beginne eine neue Aufgabe von einer function, aber ich möchte nicht, dass sie auf demselben Thread läuft. Es ist mir egal, auf welchem ​​Thread es läuft, solange es ein anderes ist (die Informationen in dieser Frage helfen also nicht). TestLock ich garantieren, dass der unten stehende Code TestLock immer TestLock bevor Task t ihn […]

Ist es schlau, boost :: thread und boost :: mutex durch C ++ 11-Äquivalente zu ersetzen?

Motivation: Der Grund, warum ich darüber nachdenke, ist, dass mein genialer Projektmanager denkt, dass Boost eine weitere Abhängigkeit ist und dass es schrecklich ist, weil “du davon abhängig bist” (Ich habe versucht, die Qualität von Boost zu erklären, dann gab ich nach einiger Zeit auf 🙁 Kleinerer Grund, warum ich das gerne machen würde, ist, […]