Articles of Multithreading

Thread-sichere Sammlungen in .NET

Was ist der Standard heutzutage, wenn man eine fadensichere Sammlung benötigt (zB Set). Synchronisiere ich es selbst oder gibt es eine inhärent Thread-sichere Sammlung?

Graceful Herunterfahren von Threads und Executor

Der folgende Codeabschnitt versucht dies zu unterstützen. Der Code wird für immer wiederholt und überprüft, ob noch ausstehende Anforderungen verarbeitet werden. Wenn es welche gibt, erzeugt es einen neuen Thread, um die Anfrage zu verarbeiten und sie an den Executor zu übergeben. Sobald alle Threads fertig sind, bleibt es für 60 Sekunden und überprüft erneut […]

Warum können wir in der aktuellen Warteschlange keine dispatch_sync verwenden?

Ich stieß auf ein Szenario, in dem ich einen Delegaten-Callback hatte, der entweder im Hauptthread oder in einem anderen Thread auftreten konnte, und ich wusste bis zur Laufzeit nicht, was (mit StoreKit.framework ). Ich hatte auch UI-Code, den ich in diesem Callback aktualisieren musste, was vor der Ausführung der function passieren musste, also war mein […]

Java: Wartet () die Sperre vom synchronisierten Block loszulassen

Ich hatte den Eindruck, dass wait () alle Sperren freigibt, aber ich fand diesen Beitrag, der sagt “Das Aufrufen von Wait innerhalb einer synchronisierten Methode ist eine einfache Möglichkeit, die intrinsische Sperre zu erhalten” Bitte klären Sie, ich bin ein bisschen verwirrt. http://docs.oracle.com/javase/tutorial/essential/concurrency/guardmeth.html

Fortschrittsbalken während der Arbeit in C # anzeigen?

Ich möchte einen Fortschrittsbalken anzeigen, während ich etwas Arbeit mache, aber das würde die Benutzeroberfläche hängen lassen und die Fortschrittsleiste wird nicht aktualisiert. Ich habe eine WinForm ProgressForm mit einer ProgressBar , die unbegrenzt in einem Marquee- Modus fortgesetzt wird. using(ProgressForm p = new ProgressForm(this)) { //Do Some Work } Jetzt gibt es viele Möglichkeiten, […]

Einfachstes und verständlichstes Beispiel für flüchtiges Keyword in Java

Ich lese über flüchtige Schlüsselwörter in Java und verstehe den theoretischen Teil davon vollständig. Aber was ich suche, ist ein gutes Fallbeispiel, das zeigt, was passieren würde, wenn Variable nicht flüchtig wäre und wenn es wäre. Das folgende Code-Snippet funktioniert nicht wie erwartet ( von aioobe ) class Test extends Thread { boolean keepRunning = […]

Hat Java Unterstützung für Multicore-processoren / parallel processing?

Ich weiß, dass jetzt, wo die meisten processoren zwei oder mehr coree haben, Multicore-Programmierung der letzte Schrei ist. Gibt es functionalität, um dies in Java zu nutzen? Ich weiß, dass Java eine Thread-class hat, aber ich weiß auch, dass dies eine lange Zeit war, bevor Multicores populär wurden. Wenn ich in Java mehrere coree verwenden […]

Wie man eine .NET Konsole App laufen lässt?

Stellen Sie sich eine Konsolenanwendung vor, die einige Dienste in einem separaten Thread startet. Sie müssen nur darauf warten, dass der Benutzer Strg + C zum Herunterfahren drückt. Welcher der folgenden ist der bessere Weg, dies zu tun? static ManualResetEvent _quitEvent = new ManualResetEvent(false); static void Main() { Console.CancelKeyPress += (sender, eArgs) => { _quitEvent.Set(); […]

Wie macht man aus einfacheren Synchronisations-Primitiven eine Mehrfach- / Einzelschreib-Sperre?

Wir haben festgestellt, dass wir in unserem Code mehrere Stellen haben, an denen das gleichzeitige Lesen von Daten, die durch einen Mutex geschützt sind, eher üblich ist, während Schreibvorgänge selten sind. Unsere Messungen scheinen zu sagen, dass die Verwendung eines einfachen Mutex die performance des Codes, der diese Daten liest, ernsthaft beeinträchtigt. Was wir also […]

Thread sichere faule Konstruktion eines Singleton in C ++

Gibt es eine Möglichkeit, ein Singleton-Objekt in C ++ zu implementieren, das ist: Faul konstruiert in einer Thread-sicheren Art und Weise (zwei Threads könnten gleichzeitig der erste Benutzer des Singleton sein – es sollte immer noch nur einmal konstruiert werden). Stützt sich nicht darauf, dass statische Variablen vorher konstruiert werden (so dass das Singleton-Objekt selbst […]