Articles of Multithreading

Wann wirft Java Thread.sleep InterruptedException?

Wann wirft Java Thread.sleep InterruptedException? Ist es sicher, es zu ignorieren? Ich mache kein Multithreading. Ich möchte nur ein paar Sekunden warten, bevor ich eine Operation wiederholen kann.

Die Cross-Thread-Verwendung der Eigenschaft “HttpContext.Current” und verwandter Dinge

Ich lese von die folgende Aussage: Eine weitere nützliche Eigenschaft ist die statische Current-Eigenschaft der HttpContext-class. Diese Eigenschaft verweist immer auf die aktuelle Instanz der HttpContext-class für die Anforderung, die bearbeitet wird. Dies kann nützlich sein, wenn Sie Hilfsklassen schreiben, die von Seiten oder anderen Pipeline-classn verwendet werden und aus irgendeinem Grund auf den Kontext […]

Java-Thread-Beispiel?

Kann jemand ein Beispielprogramm geben, das Java-Threads auf einfache Weise erklärt? t1 , ich habe drei Threads t1 , t2 und t3 . Ich möchte einen Code, der zeigt, dass die Threads gleichzeitig und nicht sequenziell ausgeführt werden.

Zugreifen auf den UI-Thread-Handler von einem Dienst

Ich versuche etwas Neues auf Android, für das ich auf den Handler des UI-Threads zugreifen muss. Ich kenne Folgendes: Der UI-Thread hat seinen eigenen Handler und Looper Jede Nachricht wird in die Nachrichtenwarteschlange des UI-Threads eingefügt Der Looper nimmt das Ereignis auf und übergibt es an den Handler Der Handler verarbeitet die Nachricht und sendet […]

GUI-Update vom UI-Thread erzwingen

Wie erzwinge ich in WinForms ein sofortiges UI-Update vom UI-Thread? Was ich mache ist grob: label.Text = “Please Wait…” try { SomewhatLongRunningOperation(); } catch(Exception e) { label.Text = “Error: ” + e.Message; return; } label.Text = “Success!”; Der Beschriftungstext wird vor dem Vorgang nicht auf “Bitte warten …” gesetzt. Ich triggerse das mit einem anderen […]

Der aktuelle SynchronizationContext darf nicht als TaskScheduler verwendet werden

Ich verwende Tasks , um lange laufende Serveraufrufe in meinem ViewModel auszuführen, und die Ergebnisse werden mithilfe von TaskScheduler.FromSyncronizationContext() auf Dispatcher TaskScheduler.FromSyncronizationContext() . Beispielsweise: var context = TaskScheduler.FromCurrentSynchronizationContext(); this.Message = “Loading…”; Task task = Task.Factory.StartNew(() => { … }) .ContinueWith(x => this.Message = “Completed” , context); Dies funktioniert einwandfrei, wenn ich die Anwendung ausführe. Aber […]

So implementieren Sie Multithread-sicheres Singleton in C ++ 11, ohne zu verwenden

Jetzt, da C ++ 11 Multithreading hat, habe ich mich gefragt, was der richtige Weg ist, um lazy initialisiertes Singleton ohne Mutex zu implementieren (aus Gründen der Performance). Ich habe mir das ausgedacht, aber ich bin nicht wirklich gut darin, lockfreien Code zu schreiben, also suche ich nach besseren Lösungen. // ConsoleApplication1.cpp : Defines the […]

Töte -3, um einen Java-Thread-Dump zu erhalten

Ich verwende kill -3 Befehl kill -3 , um den Thread-Dump der JVM in Unix zu sehen. Aber wo finde ich die Ausgabe dieses Befehls kill ? Ich bin verloren!!

Ich habe gehört, dass i ++ nicht Thread-sicher ist, ist ++ ich threadsicher?

Ich habe gehört, dass i ++ keine threadsichere Aussage ist, da es in der Assemblierung darauf hinausläuft, den ursprünglichen Wert irgendwo als Temp zu speichern, zu inkrementieren und dann zu ersetzen, was durch einen Kontextwechsel unterbrochen werden könnte. Ich wundere mich jedoch über ++ i. Soweit ich das beurteilen kann, würde dies auf eine einzelne […]

ThreadLocal & Speicherleck

Es wird bei mehreren Posts erwähnt: ThreadLocal Verwendung von ThreadLocal verursacht Memory Leak. Ich habe Mühe zu verstehen, wie Memory Leak mit ThreadLocal passieren ThreadLocal . Das einzige Szenario, das ich herausgefunden habe, ist wie folgt: Ein Webserver unterhält einen Pool von Threads (zB für Servlets). Diese Threads können Speicherverlust verursachen, wenn die Variablen in […]