Ausführungs-Threads in Java

Hier ist ein gut gehütetes Geheimnis: Java-Programme sind multithreaded, was bedeutet, dass mehrere Dinge gehen sofort auf, wenn Sie ein Java-Programm ausführen. Sicher, ist der Computer die Ausführung von Code, den Sie geschrieben haben, aber es ist auch noch andere Ausführung von Code (Code, den Sie nicht schreiben und nicht sehen).

All dieser Code wird zur gleichen Zeit ausgeführt. Während der Computer ausführt, Ihre Main Verfahren Aussagen, einer nach dem anderen, benötigt der Computer eine Auszeit, schleicht sich weg kurz und führt Anweisungen aus einigen anderen, unsichtbaren Methoden. Bei den meisten einfachen Java-Programme sind diese anderen Methoden diejenigen, die als Teil der Java Virtual Machine (JVM) definiert sind.

Zum Beispiel hat Java eine Ereignisbehandlungs Thread. Während Ihr Code ausgeführt wird, läuft das Event-Handling-Thread-Code im Hintergrund. Die Ereignisbehandlungs Threads Code wartet auf Mausklicks und geeignete Aktionen, wenn ein Benutzer mit der Maus klickt. Die Abbildung zeigt, wie das funktioniert.

bild0.jpg

Wenn der Benutzer auf die Schaltfläche klickt, sagt der Event-Handling-Gewinde, # 147-Okay, wurde auf die Schaltfläche geklickt. Also, was soll ich dagegen tun? # 148- Und die Antwort ist, # 147-Aufruf einige Handlung ausgeführt . Methoden # 148- Es ist, als ob die Ereignisbehandlungs Thread-Code hat, der wie folgt aussieht:

if (buttonJustGotClicked ()) {object1.actionPerformed(infoAboutTheClick)-object2.actionPerformed(infoAboutTheClick)-object3.actionPerformed(infoAboutTheClick)-}

Natürlich hinter jeder Antwort, ist noch eine andere Frage. In dieser Situation ist die Folgefrage, # 147-Wo kommt das Event-Handling-Thread finden Handlung ausgeführt Methoden aufrufen # 148- Und es ist eine andere Frage?: # 147-Was ist, wenn Sie das Event-Handling-Thread nicht wollen sicher nennen Handlung ausgeführt Methoden, die in Ihrem Code # 148 lauern?;

Nun, das ist, warum Sie den Anruf addActionListener Verfahren. In der Auflistung der Aufruf

button.addActionListener (this) -

erzählt die Ereignisbehandlungsgewinde, # 147-Setzen Sie dieses Code des Handlung ausgeführt Verfahren auf der Liste der Methoden aufgerufen werden. Rufen Sie diesen Code des Handlung ausgeführt Verfahren, wenn die Schaltfläche geklickt wird # 148.

Also, das ist, wie es funktioniert. Haben eine den Computer Aufruf Handlung ausgeführt Methode, die Methode mit dem Java-Ereignisbehandlungs Thread registrieren. Sie tun, um diese Registrierung durch den Aufruf addActionListener. Das addActionListener Verfahren gehört zum Objekt, dessen Klicks (und andere Veranstaltungen) Sie warten.

In der Auflistung, Sie warten für die Schaltfläche Objekt angeklickt werden, und die addActionListener Methode gehört zu diesem Button-Objekt.

Menü