Articles of Multithreading

Was sind die Unterschiede zwischen den verschiedenen Threading-Synchronisierungsoptionen in C #?

Kann jemand den Unterschied erklären zwischen: Sperre (irgendein Objekt) {} Verwenden von Mutex Semaphore verwenden Verwenden von Monitor Verwenden anderer .Net-Synchronisationsklassen Ich kann es einfach nicht herausfinden. Es scheint mir, die ersten beiden sind gleich?

Lock (Monitor) interne Implementierung in .NET

Um etwas zu beherrschen, müssen Sie wissen, wie es auf einer Abstraktionsebene niedriger ist. Im Falle der Multithreading-Programmierung ist es gut, über Synchronisationsgrundelemente zu wissen. Hier ist die Frage, wie Lock (Monitor) in .NET implementiert wurde? Ich interessiere mich für solche Punkte: – Nutzt es OS-Objekte? – Benötigt es den Benutzermodus oder den coreelmodus? – […]

Verhindern, dass Swing GUI während einer Hintergrundaufgabe gesperrt wird

Ich habe eine Swing-Anwendung, die eine Liste von Objekten speichert. Wenn die Nutzer auf eine Schaltfläche klicken, Ich möchte für jedes Objekt in der Liste zwei Operationen ausführen, und sobald dies abgeschlossen ist, die Ergebnisse in einem JPanel grafisch darstellen. Ich habe versucht SwingWorker, Callable & Runnable, um die Verarbeitung zu tun, aber egal was […]

STL-Vektor und Fadensicherheit

Nehmen wir an, ich habe einen Vektor von N Elementen, aber bis zu n Elemente dieses Vektors haben aussagekräftige Daten. Ein Aktualisierungsthread aktualisiert das n-te oder n + 1te Element (setzt dann n = n + 1), prüft auch, ob n zu nah an N ist, und ruft vector :: resize (N + M) auf, […]

Verwenden von SynchronizationContext zum Senden von Ereignissen an die Benutzeroberfläche für WinForms oder WPF

Ich verwende einen SynchronizationContext, um Ereignisse zurück zum Benutzeroberflächenthread von meiner DLL zu mappen, die viele Multithread-Hintergrundaufgaben ausführt. Ich weiß, dass das Singleton-Muster kein Favorit ist, aber ich benutze es vorerst, um einen Verweis auf den SynchronizationContext der Benutzeroberfläche zu speichern, wenn Sie das übergeordnete Objekt von foo erstellen. public class Foo { public event […]

Priorität für Java-Threads festlegen

Ich habe ein Programm, das in ein paar Threads läuft. Der Haupt-Thread teilt ein Objekt mit den anderen Threads und im Wesentlichen habe ich einen Aufruf an: synchronized(obj){ do stuff } Ich habe den Verdacht, dass der Hauptthread verhungert ist und keinen Zugang zu obj . Wie erhöhe ich die Priorität des Haupt-Threads oder ist […]

Effizienterer Weg zum Pausieren der Schleife gesucht

Ist es möglich, diesen Code neu zu schreiben, um besser mit dem processor arbeiten zu können? Ich habe eine class, die einige Aufgaben mit fester Periodizität in einem separaten Thread erledigt. Manchmal kann dieser process angehalten und fortgesetzt werden. Derzeit verwende ich ein Flag zum Pausieren, es funktioniert gut, aber Schleife auf diese Weise lädt […]

Ist das thread.abort () normal und sicher?

Ich habe ein benutzerdefiniertes Autocomplete-Steuerelement erstellt. Wenn der Benutzer eine Taste drückt, fragt es den databaseserver (mit Remoting) nach einem anderen Thread ab. Wenn der Benutzer sehr schnell tippt, muss das Programm die zuvor ausgeführte Anfrage / den Thread abbrechen. Ich habe es zuerst als AsyncCallback implementiert, aber ich finde es umständlich, zu viele Hausregeln […]

java.lang.IllegalMonitorStateException: Objekt wurde vor dem Warten () nicht durch einen Thread gesperrt?

Ich benutze Fortschritt dialog.i muss den Thread stoppen, wenn Benutzer den Fortschrittdialog schließen. Leider gibt es Ausnahme pls helfen mir .. In der inneren class class UpdateThread extends Thread{ public void run() { while (true){ count=adapter.getCount(); try { mHandler.post( new Runnable() { public void run() { Log.i(TAG,count+”count”); progressDialog.setMessage(count + “Device found”); } }); Thread.sleep(300); } […]

Was ist der JVM-Scheduling-Algorithmus?

Ich bin wirklich gespannt darauf, wie die JVM mit Threads arbeitet! Bei meinen Recherchen im Internet habe ich etwas Material über RTSJ gefunden, aber ich weiß nicht, ob es die richtige Richtung für meine Antworten ist. Ich habe dieses Thema auch in den Foren von Sun http://forums.sun.com/thread.jspa?forumID=513&threadID=472453 gefunden , aber das ist nicht zufriedenstellend. Kann […]