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).

10
Invoke oder BeginInvoke können für ein Steuerelement erst aufgerufen werden, wenn das Fensterhandle erstellt wurde
Ich habe ein SafeInvoke Steuerungserweiterung Verfahren ähnlich den Greg D bespricht hier (minus der IsHandleCreated Prüfung). Ich nenne es System.Windows.Forms.Formwie folgt: public void Show(string text) { label.SafeInvoke(()=>label.Text = text); this.Show(); this.Refresh(); } Manchmal (dieser Aufruf kann von einer Vielzahl von Threads stammen) führt dies zu folgendem Fehler: System.InvalidOperationException aufgetreten Message= …

3
Verarbeitung einer einzelnen Datei aus mehreren Prozessen
Ich habe eine einzelne große Textdatei, in der ich jede Zeile verarbeiten (einige Operationen ausführen) und sie in einer Datenbank speichern möchte. Da ein einzelnes einfaches Programm zu lange dauert, möchte ich, dass es über mehrere Prozesse oder Threads ausgeführt wird. Jeder Thread / Prozess sollte die VERSCHIEDENEN Daten (verschiedene …

15
'using' Anweisung vs 'endlich versuchen'
Ich habe eine Reihe von Eigenschaften, für die ich Lese- / Schreibsperren verwenden werde. Ich kann sie entweder mit einer try finallyoder einer usingKlausel implementieren . In der try finallywürde ich das Schloss vor dem erwerben tryund in der freigeben finally. In der usingKlausel würde ich eine Klasse erstellen, die …



15
Sind C ++ Lese- und Schreibvorgänge eines int Atomic?
Ich habe zwei Threads, einen, der ein Int aktualisiert und einen, der es liest. Dies ist ein statistischer Wert, bei dem die Reihenfolge der Lese- und Schreibvorgänge keine Rolle spielt. Meine Frage ist, muss ich den Zugriff auf diesen Multi-Byte-Wert trotzdem synchronisieren? Oder anders ausgedrückt, kann ein Teil des Schreibvorgangs …

2
Warum in ArrayBlockingQueue das letzte Mitgliedsfeld in die lokale endgültige Variable kopieren?
In ArrayBlockingQueueallen Methoden, für die die Sperre erforderlich ist, wird sie finalvor dem Aufruf in eine lokale Variable kopiert lock(). public boolean offer(E e) { if (e == null) throw new NullPointerException(); final ReentrantLock lock = this.lock; lock.lock(); try { if (count == items.length) return false; else { insert(e); return …



3
WARTEN bei sun.misc.Unsafe.park (native Methode)
Eine meiner Anwendungen hängt unter einer gewissen Zeit unter Last. Weiß jemand, was eine solche Ausgabe in jstack verursachen könnte: "scheduler-5" prio=10 tid=0x00007f49481d0000 nid=0x2061 waiting on condition [0x00007f494e8d0000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000006ee117310> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1085) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807) …

1
ThreadPool.QueueUserWorkItem vs Task.Factory.StartNew
Was ist der Unterschied zwischen den unten ThreadPool.QueueUserWorkItem vs. Task.Factory.StartNew Wenn der obige Code für eine lange laufende Aufgabe 500 Mal aufgerufen wird, bedeutet dies, dass alle Thread-Pool-Threads belegt werden? Oder ist TPL (2. Option) intelligent genug, um nur Threads zu belegen, die weniger oder gleich der Anzahl der Prozessoren …

8
ContextSwitchDeadlock wurde in C # als Fehler erkannt
Ich führe eine C # -Anwendung aus und erhalte zur Laufzeit die folgende Fehlermeldung: Die CLR konnte 60 Sekunden lang nicht vom COM-Kontext 0x20e480 zum COM-Kontext 0x20e5f0 wechseln. Der Thread, dem der Zielkontext / die Zielwohnung gehört, führt höchstwahrscheinlich entweder eine Wartezeit ohne Pumpen durch oder verarbeitet einen sehr lang …

4
Warum ist Thread keine abstrakte Klasse und start () nicht endgültig?
Warum wurde die ThreadKlasse als reguläre Klasse und nicht als abstrakte Klasse implementiert, wobei die run()Methode abstrakt war? Wird es möglicherweise Probleme geben? Oder hat es irgendeinen Sinn, so zu sein? Außerdem soll die Thread.start()Methode eine sehr spezifische Methode sein, deren Funktionalität von keiner anderen Klasse implementiert werden kann (wenn …

4
Sellerie parallel verteilte Aufgabe mit Mehrfachverarbeitung
Ich habe eine CPU-intensive Sellerie-Aufgabe. Ich möchte die gesamte Verarbeitungsleistung (Kerne) in vielen EC2-Instanzen nutzen, um diesen Job schneller zu erledigen (eine Sellerie-parallel verteilte Aufgabe mit Mehrfachverarbeitung - glaube ich ) . Die Begriffe Threading , Multiprocessing , Distributed Computing und Distributed Parallel Processing sind alles Begriffe, die ich besser …


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.