Articles of Multithreading

Was bedeutet thread_local in C ++ 11?

Ich bin verwirrt mit der Beschreibung von thread_local in C ++ 11. Mein Verständnis ist, jeder Thread hat eine eindeutige Kopie von lokalen Variablen in einer function. Auf die globalen / statischen Variablen kann von allen Threads zugegriffen werden (möglicherweise synchronisierter Zugriff unter Verwendung von Sperren). Und die Variablen thread_local sind für alle Threads sichtbar, […]

Wie kann ein Thread, der auf dem Socket-IO-Betrieb blockiert, sofort beendet werden?

Im Kontext von Java erstelle ich einen neuen Thread, um die Netzwerkeingabe zu lesen, wenn ich ein GUI-Fenster öffne, und wenn ich das Fenster schließe, möchte ich die Socket-Ressource freigeben und den Thread sofort beenden. Jetzt benutze ich die Methode setSoTimeout, aber ich möchte nicht auf die Timeout-Ausnahme warten. Könnte irgendjemand einen Vorschlag geben? Vielen […]

Wie stellt man die CPU-Affinität eines bestimmten Pthreads ein?

Ich möchte die CPU-Affinität eines bestimmten Pthread angeben. Alle Referenzen, die ich bisher gefunden habe, betreffen die Einstellung der CPU-Affinität eines processes (pid_t) und nicht eines Threads (pthread_t). Ich habe einige Experimente ausprobiert, die pthread_t passieren lassen und wie erwartet scheitern sie. Versuche ich etwas Unmögliches zu tun? Wenn nicht, können Sie bitte einen pointers […]

Wie rufe ich eine Methode mit einem separaten Thread in Java auf?

Lassen Sie uns sagen, ich habe eine Methode doWork() . Wie rufe ich es aus einem separaten Thread (nicht den Hauptthread).

Ist eine HashMap Thread-sicher für verschiedene Schlüssel?

Wenn ich mit zwei Threads auf eine HashMap zugreifen kann, aber gleichzeitig garantiere, dass sie niemals auf den gleichen Schlüssel zugreifen, könnte das noch zu einer Race Condition führen?

Asynchron oder Multithreading – Gibt es einen Unterschied?

Erstellt ein asynchroner Aufruf immer einen neuen Thread? Was ist der Unterschied zwischen den beiden? Wird bei einem asynchronen Aufruf immer ein neuer Thread erstellt oder verwendet? Wikipedia sagt : In der Computerprogrammierung sind asynchrone Ereignisse diejenigen, die unabhängig vom Hauptprogrammablauf auftreten. Asynchrone Aktionen sind Aktionen, die in einem nicht blockierenden Schema ausgeführt werden, wodurch […]

Was bedeutet threadsafe?

Kürzlich habe ich versucht, auf ein Textfeld aus einem Thread (außer dem UI-Thread) zuzugreifen, und eine Ausnahme wurde ausgetriggers. Es sagte etwas über den “Code, der nicht threadsicher ist” und so schrieb ich einen Delegaten (Probe von MSDN half) und nannte es stattdessen. Aber ich habe nicht ganz verstanden, warum der zusätzliche Code notwendig war. […]

Wann wird AtomicReference in Java verwendet?

Wann verwenden wir AtomicReference? Ist es erforderlich, Objekte in allen Multithread-Programmen zu erstellen? Geben Sie ein einfaches Beispiel an, in dem AtomicReference verwendet werden soll.

Wann sollte der Thread-Pool in C # verwendet werden?

Ich habe versucht, Multithreading-Programmierung in C # zu lernen, und ich bin verwirrt, wenn es am besten ist, einen Thread-Pool zu verwenden oder meine eigenen Threads zu erstellen. Ein Buch empfiehlt, einen Thread-Pool nur für kleine Aufgaben zu verwenden (was auch immer das bedeutet), aber ich kann keine wirklichen Richtlinien finden. Was sind einige Überlegungen, […]

Welche Ressourcen werden zwischen Threads geteilt?

Kürzlich wurde mir in einem Interview eine Frage gestellt, was der Unterschied zwischen einem process und einem Thread ist. Wirklich, ich kannte die Antwort nicht. Ich dachte eine Minute nach und gab eine sehr seltsame Antwort. Threads teilen sich den gleichen Speicher, processe nicht. Nachdem ich das beantwortet hatte, schenkte mir der Interviewer ein böses […]