Articles of Multithreading

Lese- / Schreibzugriffssperre in C ++

Ich suche nach einer guten Leser- / Schreibersperre in C ++. Wir haben einen Anwendungsfall für einen einzelnen seltenen Autor und viele häufige Leser und möchten dies optimieren. Vorzuziehen wäre eine plattformübergreifende Lösung, allerdings wäre nur ein Windows akzeptabel.

Warum ist i ++ nicht atomar?

Warum ist i++ in Java nicht atomar? Um etwas tiefer in Java zu kommen, habe ich versucht zu zählen, wie oft die Schleife in Threads ausgeführt wird. Also habe ich ein private static int total = 0; in der Hauptklasse. Ich habe zwei Fäden. Thread 1: Druckt System.out.println(“Hello from Thread 1!”); Thread 2: Druckt System.out.println(“Hello […]

Hauptthread vs. UI-Thread in Java

In vielen Swing-Snippets, die hier als Antworten angegeben sind, gibt es einen Aufruf von SwingUtilities#invokeLater von der main Methode: public class MyOneClassUiApp { private constructUi() { // Some Ui related Code } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new MyOneClassUiApp().constructUi(); } }); } } Aber gemäß dem Thread- […]

Invoke oder BeginInvoke kann für ein Steuerelement nicht aufgerufen werden, bis das Fensterhandle erstellt worden ist

Ich habe eine SafeInvoke Control-Erweiterungsmethode ähnlich der, die Greg D hier diskutiert (minus der IsHandleCreated-Prüfung). Ich rufe es aus einem System.Windows.Forms.Form wie folgt auf: public void Show(string text) { label.SafeInvoke(()=>label.Text = text); this.Show(); this.Refresh(); } Manchmal (dieser Aufruf kann aus einer Vielzahl von Threads stammen) führt dies zu folgendem Fehler: System.InvalidOperationException aufgetreten Message = “Invoke […]

Unterschied zwischen -pthread und -lpthread beim Kompilieren

Was ist der Unterschied zwischen gcc -pthread und gcc -lpthread der beim Kompilieren von Multithread-Programmen verwendet wird?

Versuch, mehrere HTTP-Anforderungen parallel auszuführen, aber von Windows (Registrierung) eingeschränkt

Ich entwickle eine Anwendung (winforms C # .NET 4.0), wo ich auf eine Nachschlagefunktionalität von einer dritten Partei durch eine einfache HTTP-Anfrage zugreife. Ich rufe eine URL mit einem Parameter auf, und im Gegenzug bekomme ich eine kleine Zeichenfolge mit dem Ergebnis der Suche. Einfach genug. Die Herausforderung besteht jedoch darin, dass ich viele dieser […]

Was sind die Unterschiede zwischen Threading- und Multiprocessing-Modulen?

Ich lerne, wie man die threading und multiprocessing Module in Python benutzt, um bestimmte Operationen parallel auszuführen und meinen Code zu beschleunigen. Ich finde das schwierig (vielleicht, weil ich keinen theoretischen Hintergrund dazu habe), um zu verstehen, was der Unterschied zwischen einem threading.Thread() Objekt und einem multiprocessing.Process() . Mir ist auch nicht ganz klar, wie […]

Unterstützt Python Multithreading? Kann es die Ausführungszeit beschleunigen?

Ich bin etwas verwirrt darüber, ob Multithreading in Python funktioniert oder nicht. Ich weiß, dass es viele Fragen dazu gab und ich habe viele davon gelesen, aber ich bin immer noch verwirrt. Ich weiß aus eigener Erfahrung und habe gesehen, dass andere hier auf StackOverflow ihre eigenen Antworten und Beispiele gepostet haben, dass Multithreading tatsächlich […]

Ausnahmen von Java ExecutorService-Tasks behandeln

Ich versuche, die ThreadPoolExecutor class von Java zu ThreadPoolExecutor , um eine große Anzahl von schwergewichtigen Aufgaben mit einer festen Anzahl von Threads auszuführen. Jede der Aufgaben hat viele Stellen, an denen sie aufgrund von Ausnahmen fehlschlagen kann. Ich habe ThreadPoolExecutor subclassiert und die Methode afterExecute überschrieben, die alle nicht afterExecute Ausnahmen beim Ausführen einer […]

Wie Übergeben von Parametern an die ThreadStart-Methode in Thread?

Wie Thread.ThreadStart() Parametern an Thread.ThreadStart() Methode in C #? Angenommen, ich habe eine Methode namens ‘download’ public void download(string filename) { // download code } Jetzt habe ich einen Thread in der Hauptmethode erstellt: Thread thread = new Thread(new ThreadStart(download(filename)); Fehler Methodentyp erwartet. Wie kann ich Parameter mit Parameter target an ThreadStart ?