Als «multithreading» getaggte Fragen

Multithreading ist die Fähigkeit eines Computers oder eines Programms, gleichzeitig oder asynchron zu arbeiten, indem mehrere gleichzeitige Ausführungsströme verwendet werden (im Allgemeinen als Threads bezeichnet).

6
Was nützt das SyncRoot-Muster?
Ich lese ein Buch, das das SyncRoot-Muster beschreibt. Es zeigt void doThis() { lock(this){ ... } } void doThat() { lock(this){ ... } } und vergleicht mit dem SyncRoot-Muster: object syncRoot = new object(); void doThis() { lock(syncRoot ){ ... } } void doThat() { lock(syncRoot){ ... } } Allerdings …

3
Multithreading-Unterstützung in c11
Der neue C11-Standard bietet Unterstützung für Multithreading. Meine Fragen sind etwas abwechslungsreich, aber definitiv zu beantworten. Ich habe mir den Entwurf für C11 n1570 angesehen . Es sagt: Unterstützung für mehrere Ausführungsthreads, einschließlich eines verbesserten Speichersequenzierungsmodells, atomarer Objekte und threadlokaler Speicher ( <stdatomic.h>und <threads.h>) Was ist das verbesserte Speichersequenzierungsmodell ? …
68 c  multithreading  c11 

4
Warum gewährleistet flüchtig in Java 5+ nicht die Sichtbarkeit von einem anderen Thread?
Gemäß: http://www.ibm.com/developerworks/library/j-jtp03304/ Wenn unter dem neuen Speichermodell Thread A in eine flüchtige Variable V schreibt und Thread B aus V liest, ist garantiert, dass alle Variablenwerte, die zum Zeitpunkt des Schreibens von V für A sichtbar waren, jetzt für B sichtbar sind Und viele Stellen im Internet geben an, dass …

4
Werden beim Aufruf von fork Threads kopiert?
Wenn ich ein Programm mit Threads habe und fork()ein Unix-basiertes System aufrufe, werden die Threads kopiert? Ich weiß, dass der virtuelle Speicher für den aktuellen Prozess 1: 1 in den neu erzeugten Prozess kopiert wird. Ich weiß, dass Threads einen eigenen Stapel im virtuellen Speicher eines Prozesses haben. Daher sollte …

7
Wie erstelle ich einen blockierenden Hintergrundlader in Java 8?
Frage Wie erstellt man in Java 8 einen richtigen Hintergrundlader? Die Bedingungen: Daten sollten im Hintergrund geladen werden Nach dem Laden sollten die Daten angezeigt werden Während Daten geladen werden, sollten keine weiteren Anforderungen akzeptiert werden Wenn während des Ladens der Daten Anforderungen aufgetreten sind, sollte nach einer bestimmten Zeitüberschreitung …

1
Bietet das Laichen eines Threads selbst Garantien für die Speicherreihenfolge?
Ich möchte ungefähr Folgendes tun: Anfänglicher Thread: Schreiben Sie einige Werte in globale Variablen (sie werden nie wieder geschrieben). Dies können mäßig große Daten sein (Arrays, Strings usw.). Kann nicht einfach gemacht werden std::atomic<>. andere Threads erzeugen Andere Themen: Lesen Sie den globalen Zustand Arbeit machen, etc. Jetzt weiß ich, …

3
c ++ Threads innerhalb der Schleife drucken falsche Werte
Ich versuche, Multithreading in c ++ zu verstehen, aber ich stecke in diesem Problem fest: Wenn ich Threads in einer for-Schleife starte, drucken sie falsche Werte. Dies ist der Code: #include <iostream> #include <list> #include <thread> void print_id(int id){ printf("Hello from thread %d\n", id); } int main() { int n=5; …

4
Zu geringe CPU-Auslastung von Multithread-Java-Anwendungen unter Windows
Ich arbeite an einer Java-Anwendung zur Lösung einer Klasse numerischer Optimierungsprobleme - genauer gesagt bei großen linearen Programmierproblemen. Ein einzelnes Problem kann in kleinere Teilprobleme aufgeteilt werden, die parallel gelöst werden können. Da es mehr Unterprobleme als CPU-Kerne gibt, verwende ich einen ExecutorService und definiere jedes Unterproblem als Callable, das …

2
C ++ - Thread mit Funktionsobjekt. Wie werden mehrere Destruktoren aufgerufen, nicht jedoch die Konstruktoren?
Das Code-Snippet finden Sie unten: class tFunc{ int x; public: tFunc(){ cout<<"Constructed : "<<this<<endl; x = 1; } ~tFunc(){ cout<<"Destroyed : "<<this<<endl; } void operator()(){ x += 10; cout<<"Thread running at : "<<x<<endl; } int getX(){ return x; } }; int main() { tFunc t; thread t1(t); if(t1.joinable()) { cout<<"Thread …


2
Java ThreadPoolExecutor: Durch das Aktualisieren der Größe des Kernpools werden eingehende Aufgaben zeitweise dynamisch zurückgewiesen
Ich stoße auf ein Problem, bei dem, wenn ich versuche, die Größe des Kernpools eines ThreadPoolExecutorPools nach dem Erstellen des Pools auf eine andere Anzahl zu ändern , einige Aufgaben zeitweise mit einem abgelehnt werden RejectedExecutionException, obwohl ich nie mehr als die queueSize + maxPoolSizeAnzahl der Aufgaben übergebe. Das Problem, …

4
Ist die Erklärung der entspannten Reihenfolge in der Referenz falsch?
In der Dokumentation von std::memory_ordercppreference.com finden Sie ein Beispiel für eine entspannte Bestellung: Entspannte Bestellung Mit Tags versehene atomare Operationen memory_order_relaxedsind keine Synchronisationsoperationen. Sie legen keine Reihenfolge bei gleichzeitigen Speicherzugriffen fest. Sie garantieren nur die Konsistenz der Atomizität und der Änderungsreihenfolge. Zum Beispiel, wenn x und y anfänglich Null sind, …

1
Unterstützt React-Native Multithreading und Background-Threading oder parallele Ausführung? Wie können wir das machen?
Ich habe die offizielle Dokumentation von React-Native und einige andere Medienquellen und Blogs durchgesehen und festgestellt, dass UI-Thread und JavaScript-Thread in React-Native enthalten sind. Javascript-Thread ist der Thread, in dem die Logik Javascript-Code ausführt, API-Aufrufe ausgeführt, Berührungsereignisse verarbeitet und viele andere. Und UI Thread aktualisiert die Benutzeroberfläche. Wenn der JavaScript-Thread …

2
Java beendet den Executor-Service, sobald eine seiner zugewiesenen Aufgaben aus irgendeinem Grund fehlschlägt
Ich benötige einen Dienst, der einige Aufgaben gleichzeitig und im Abstand von 1 Sekunde für 1 Minute ausführt. Wenn eine der Aufgaben fehlschlägt, möchte ich den Dienst und jede damit ausgeführte Aufgabe mit einer Art Indikator beenden, dass etwas schief gelaufen ist. Wenn andernfalls nach einer Minute alles gut gelaufen …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.