Articles of Multithreading

Muss ich einen Aufruf mit der Interrupt-Methode synchronisieren?

Ich habe die JavaDocs und den Quelltext der Thread.interrupt() Methode in Java SE 7 gefunden: public void interrupt() { if (this != Thread.currentThread()) checkAccess(); synchronized (blockerLock) { Interruptible b = blocker; if (b != null) { interrupt0(); // Just to set the interrupt flag b.interrupt(this); return; } } interrupt0(); //1, Outside of the synchronized block […]

IllegalMonitorStateException im Code

class Test { public static void main(String[] args) { System.out.println(“1.. “); synchronized (args) { System.out.println(“2..”); try { Thread.currentThread().wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(“3..”); } } } Ich IllegalMonitorStateException die IllegalMonitorStateException Monitor-Ausnahme in diesem Code. Nach meinem Verständnis, wegen synchronisierten Block um args die String-Array-Objekt ist, muss der […]

Illegale Ausnahme des Monitorstatus

Wie Übergeben des Abfrage-Threads zu einem anderen Thread für Verarbeitung. Die Programmausführung erfolgt in einer Controller-class mit einer Hauptmethode und einem Thread-Pool: Der Hauptklasse-Controller public static void main(String[] args) throws InterruptedException { RunnableController controller = new RunnableController(); System.out.println(incomingQueue.size()); controller.initializeDb(); controller.initialiseThreads(); System.out.println(“Polling”); controller.initialUpdate(); } Die Methode, die den Thread für die Polling-class enthält private void initialiseThreads() […]

Multithreading zum Lesen einer Datei in Java

Ich erstelle Threads, um eine Datei in Java zu lesen. Wenn ich 2 Threads erstelle, liest jeder Thread die ganze Datei, während ich möchte, dass sie verschiedene Teile der Datei lesen. Ich habe versucht zu schlafen (), Join (), Yield (), aber nach dem Einschließen sie nur verlangsamt das Lesen. public class MyClass implements Runnable […]

Mehrere Animationen (Threads) in einem JPanel

Ich versuche ein Brettspiel in Java zu programmieren. Ich habe 11 classn einschließlich Main. Board-class, die JPanel erweitert und das Board-Bild sowie das Würfelbild zeichnet. Die class Player, die JCoponent erweitert und Runnable (Thread) implementiert. Jede Spielerinstanz ist eine Bauernanimation, die sich über das Spielbrett bewegt. Die Spielerklasse zieht den Bauern auf das Brett. Muster […]

Wie man Toast von nicht ui Widget thread

Ich versuche, nach dem Aufrufen einer function von einem Nicht-UI-Thread in einem Widget einen Toast zu senden. Ich habe mehrere Möglichkeiten gelesen, dies zu tun (Post / New Handler / Broadcast), aber die meisten Methoden scheinen eher auf Aktivitäten als auf Widget-classn ausgerichtet zu sein und ich kann keine zum Arbeiten bringen. Ich habe unten […]

Meine überschriebene Malmethode wird nicht aufgerufen

Ich habe eine JPanel, die als HUD für mein Spiel dienen soll, natürlich habe ich die Paint-Methode außer Kraft gesetzt, um meine eigene Anzeige zu machen, dies wird aufgerufen, aber nur bei der Größenanpassung oder Maximierung, Minimierung des Frames und nicht wann Meine Spielschleife sagt es zu repaint (). Es kommt mir besonders komisch vor, […]

Java Objekte bewegen, während die Tasten gedrückt werden

Wie kann ich JPanel bewegen, während eine Taste gedrückt gehalten wird, und anhalten, wenn die Taste losgelassen wird. Ich habe versucht, thread.start () mit einem Runnable und Wege wie das zu verwenden. Ich laufe immer auf Fehler zu. Kann mir doch jemand helfen?

Muss ich einige Sperren oder Synchronisation hinzufügen, wenn nur ein Thread geschrieben wird und mehrere Threads gelesen werden?

Angenommen, ich habe ein globales Objekt: class Global { public static int remoteNumber = 0; } Es gibt einen Thread, der regelmäßig ausgeführt wird, um eine neue Nummer aus der Ferne zu erhalten und sie zu aktualisieren (nur schreiben): new Thread { @override public void run() { while(true) { int newNumber = getFromRemote(); Global.remoteNumber = […]

Java-Synchronisation und Re-Entrant-Sperre

Wenn wir für ein Objekt synchronisieren, ist dies eine Re-Entrant-Sperre? Gibt es einen echten Unterschied zwischen einer Synchronisationssperre und einer Re-Entrant-Sperre? Mit freundlichen Grüßen,