ビデオ: 051-マルチスレッド-マルチスレッドのサンプル【新人エンジニアが最初に覚えたい100のJava文法】 2024
ここには秘密があります。Javaプログラムは マルチスレッドであり、 はJavaプログラムを実行するたびに。もちろん、コンピュータはあなたが書いたコードを実行していますが、他のコードも実行しています(あなたが書いたコードと見えないコード)。
このコードはすべて同時に実行されています。コンピュータがあなたのメインメソッドのステートメントを次々に実行している間に、コンピュータはタイムアウトして簡単に離れて、他の目に見えないメソッドのステートメントを実行します。ほとんどの単純なJavaプログラムでは、これらの他のメソッドはJava仮想マシン(JVM)の一部として定義されています。
<! - 1 - >たとえば、Javaにはイベント処理スレッドがあります。コードが実行されている間、イベント処理スレッドのコードはバックグラウンドで実行されます。イベント処理スレッドのコードはマウスのクリックをリッスンし、ユーザーがマウスをクリックするたびに適切な処置をとります。図はこれがどのように機能するかを示しています。
ユーザがボタンをクリックすると、イベント処理スレッドは「OK、ボタンがクリックされました。では、私はそれについて何をすべきですか? "答えは、"いくつかのactionPerformedメソッドを呼び出します。 "これは、イベント処理スレッドに次のようなコードがあるかのようです。
<! - 2 - >if(buttonJustGotClicked()){object1。 actionPerformed(infoAboutTheClick);オブジェクト2。 actionPerformed(infoAboutTheClick);オブジェクト3。 actionPerformed(infoAboutTheClick);}
もちろん、すべての答えの背後にあるもう一つの質問です。この状況では、「イベント処理スレッドはactionPerformedメソッドをどこで呼び出すのですか? "また、別の質問があります:"あなたのコードに潜んでいる特定のactionPerformedメソッドをイベント処理スレッドが呼び出さないようにするにはどうすればよいですか? "
<!それで、あなたはaddActionListenerメソッドを呼び出します。リスティングでは、コールボタンを押します。 addActionListener(this);
はイベント処理スレッドに "呼び出すメソッドのリストにこのコードのactionPerformedメソッドを追加します。ボタンをクリックするたびに、このコードのactionPerformedメソッドを呼び出します。 "
それはそれがどのように機能するかです。コンピュータにactionPerformedメソッドを呼び出させるには、そのメソッドをJavaのイベント処理スレッドに登録します。この登録は、addActionListenerを呼び出して行います。 addActionListenerメソッドは、クリック(およびその他のイベント)が待機しているオブジェクトに属します。
リスティングでは、ボタンオブジェクトがクリックされるのを待機しており、addActionListenerメソッドがそのボタンオブジェクトに属しています。