Articles of Multithreading

Was sind die Hauptverwendungen von yield () und wie unterscheidet es sich von join () und interrupt ()?

Ich bin ein wenig verwirrt über die Verwendung der yield() -Methode in Java, speziell im Beispielcode unten. Ich habe auch gelesen, dass yield () verwendet wird, um die Ausführung eines Threads zu verhindern. Meine Fragen sind: Ich glaube, dass der folgende Code sowohl bei Verwendung von yield() als auch bei yield() dieselbe Ausgabe yield() . […]

Der richtige Weg, um eine nie endende Aufgabe zu implementieren. (Timer gegen Aufgabe)

Daher muss meine App fast ununterbrochen eine Aktion ausführen (mit einer Pause von etwa 10 Sekunden zwischen jedem Durchlauf), solange die App ausgeführt wird oder eine Stornierung angefordert wird. Die Arbeit, die es zu tun hat, hat die Möglichkeit, bis zu 30 Sekunden zu dauern. Ist es besser, einen System.Timers.Timer zu verwenden und AutoReset zu […]

Was ist ein Deadlock?

Beim Schreiben von Multithread-Anwendungen sind Deadlocks eines der häufigsten Probleme. Meine Fragen an die Community sind: Was ist ein Deadlock? Wie finden Sie sie? Gehst du mit ihnen um? Und schließlich, wie verhindern Sie, dass sie auftreten?

Wie man einen Faden stoppt?

Wenn ein Thread am Leben ist, wie kann ich den Thread stoppen? Ich habe wie gegeben if(thread.isAlive()){ thread.stop(); } aber der Stopp der Methode ist veraltet und verursacht eine Ausnahme 01-21 14:12:40.188: ERROR/global(535): Deprecated Thread methods are not supported. 01-21 14:12:40.188: ERROR/global(535): java.lang.UnsupportedOperationException 01-21 14:12:40.188: ERROR/global(535): at java.lang.VMThread.stop(VMThread.java:85) 01-21 14:12:40.188: ERROR/global(535): at java.lang.Thread.stop(Thread.java:1379) 01-21 14:12:40.188: […]

Wie man einen Thread in Java von einem anderen Thread pausiert und fortsetzt

Ich schreibe eine Anwendung mit Java Swing. Was ich brauche, ist eine Prozedur, bei der ich den Thread “Ausarbeitung” mit einem Knopf in der grafischen Oberfläche stoppen kann. Hier konzentrierte sich ein einfaches Projekt auf das, was ich brauche import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JTextArea; /* * To change this template, choose Tools | Templates […]

Wie pausiere und wiederhole dann einen Thread?

Ich behaupte, dass ich über Thread gelesen habe, aber ich habe noch nie benutzt. Also ich frage dich 🙂 Ich habe zwei Threads: A und B , wobei A die GUI verwaltet und B die Logik verwaltet. Ich würde mit A anfangen. Dann, wenn A die GUI zeichne, würde ich es anhalten, um B zu […]

Der Thread wird gestartet, bevor Thread.start aufgerufen wird

t1=threading.Thread(target=self.read()) print “something” t2=threading.Thread(target=self.runChecks(), args=(self)) self.read läuft unbegrenzt, so dass das Programm niemals die print . Wie ist das möglich, ohne t1.start() ? (Selbst wenn ich das nenne, sollte es anfangen zu laufen und zur nächsten Zeile überzugehen, oder?)

Erstellen eines Threads in DllMain?

Es scheint, dass wenn ein Thread innerhalb von DllMain bei DLL_PROCESS_ATTACH es nicht beginnen wird, bis alle DLLs geladen worden sind. Da ich sicherstellen muss, dass der Thread läuft, bevor ich fortfahre, bekomme ich einen Deadlock. Gibt es eine Möglichkeit, den Thread zum Starten zu zwingen?

Warum wird die Cross-Thread-Operation nicht ausgetriggers, während exe in bin \ Debug ausgeführt wird?

Ich debuggte eine Anwendung und irgendwo im Code versucht ein Thread, eine Listbox zu erreichen, die von einem anderen Thread erstellt wurde. Bei dem Versuch, auf das Listenfeld zuzugreifen, triggers die Anwendung während des Debuggens die Fehlermeldung ” Ungültige Thread-Operation nicht gültig: Control- Listbox ” aus, auf die von einem anderen Thread als der Thread […]

Threads und Datei schreiben

Ich habe ein Java-Programm, das 20 Threads verwendet. Jeder von ihnen schreibt seine Ergebnisse in eine Datei namens output.txt . Ich bekomme immer eine andere Anzahl von Zeilen in output.txt . Kann es ein Problem bei der Synchronisierung von Threads sein? Gibt es einen Weg, damit umzugehen?