Articles of Multithreading

Wie kann ich TPL-Aufgaben abbrechen / abbrechen?

In einem Thread erstelle ich eine System.Threading.Task und System.Threading.Task jede Aufgabe. Wenn ich einen .Abort() , um den Thread zu .Abort() , werden die Aufgaben nicht abgebrochen. Wie kann ich die .Abort() auf meine Aufgaben übertragen?

Warum soll ein Thread als teuer bezeichnet werden?

Die Java-Tutorials sagen, dass das Erstellen eines Threads teuer ist. Aber warum genau ist es teuer? Was genau passiert, wenn ein Java-Thread erstellt wird, der seine Erstellung teuer macht? Ich nehme die Aussage als wahr, aber ich bin nur an der Mechanik der Thread-Erstellung in JVM interessiert. Thread-Lebenszyklus-Overhead Thread-Erstellung und Teardown sind nicht kostenlos. Der […]

Java Multithreading und sichere Veröffentlichung

Nach dem Lesen von ” Java in der Praxis ” und ” OSGI in der Praxis ” fand ich ein spezifisches Thema sehr interessant; Sichere Veröffentlichung. Das Folgende stammt von JCIP: Um ein Objekt sicher zu veröffentlichen, müssen sowohl der Verweis auf das Objekt als auch der Status des Objekts für andere Threads gleichzeitig sichtbar […]

Wie aktualisiere ich eine ObservableCollection über einen Worker-Thread?

Ich habe eine ObservableCollection a_collection; Die Sammlung enthält ‘n’ Elemente. Jedes Element A sieht folgendermaßen aus: public class A : INotifyPropertyChanged { public ObservableCollection b_subcollection; Thread m_worker; } Grundsätzlich ist alles mit einem WPF-Listenansicht + einem Detailansicht-Steuerelement verbunden, das die b_sub-Sammlung des ausgewählten Elements in einer separaten Listenansicht anzeigt (2-Wege-Bindungen, Aktualisierungen der Eigenschaft geändert usw.). […]

Thread vs ThreadPool

Was ist der Unterschied zwischen der Verwendung eines neuen Threads und der Verwendung eines Threads aus dem Thread-Pool? Welche performancesvorteile gibt es und warum sollte ich einen Thread aus dem Pool verwenden anstatt einen, den ich explizit erstellt habe? Ich denke hier speziell an .NET, aber allgemeine Beispiele sind in Ordnung.

Producer / Consumer-Threads, die eine Warteschlange verwenden

Ich möchte eine Art Producer/Consumer Threading App erstellen. Aber ich bin mir nicht sicher, was der beste Weg ist, eine Warteschlange zwischen den beiden zu implementieren. Also habe ich zwei Ideen (die beide völlig falsch sein könnten). Ich würde gerne wissen, welche besser wäre und wenn beide beide saugen dann wäre das der beste Weg, […]

warte, bis alle Threads ihre Arbeit in Java beendet haben

Ich schreibe eine Anwendung, die 5 Threads hat, die einige Informationen aus dem Web gleichzeitig abrufen und 5 verschiedene Felder in einer Pufferklasse füllen. Ich muss Pufferdaten validieren und in einer database speichern, wenn alle Threads ihre Arbeit beendet haben. Wie kann ich das tun (wird alarmiert, wenn alle Threads ihre Arbeit beendet haben)?

Windows-Threading: _beginthread vs _beginthreadex vs CreateThread C ++

Was ist ein besserer Weg, um einen Thread zu starten, _beginthread , _beginthreadx oder CreateThread ? Ich versuche _beginthread , was die Vorteile / Nachteile von _beginthread , _beginthreadex und CreateThread . Alle diese functionen geben einen Thread-Handle an einen neu erstellten Thread zurück. Ich weiß bereits, dass CreateThread beim Auftreten eines Fehlers ein wenig […]

IllegalMonitorStateException beim Aufruf von wait ()

Ich benutze Multi-Threading in Java für mein Programm. Ich habe Thread erfolgreich ausgeführt, aber wenn ich Thread.wait() , wird java.lang.IllegalMonitorStateException Thread.wait() . Wie kann ich einen Thread warten lassen, bis er benachrichtigt wird?

Wie kann man wissen, ob andere Threads beendet sind?

Ich habe ein Objekt mit einer Methode namens StartDownload() , die drei Threads startet. Wie erhalte ich eine Benachrichtigung, wenn jeder Thread fertig ist? Gibt es eine Möglichkeit zu wissen, ob einer (oder alle) des Threads beendet ist oder noch ausgeführt wird?