Javaのマルチスレッド自己day24_ 06-09ノート

マルチスレッドとマルチスレッドモードを達成する方法の06-アイデア1

  • 需要:我々は、マルチスレッドプログラムを達成したいです。

どのようにそれを達成するには?

スレッドは、プロセスが存在に依存しているので、私たちは最初のプロセスから作成する必要があります。
プロセスは、システムによって作成されたので、私たちは、プロセスを作成するために、システム機能を呼び出して行く必要があります。
私たちは直接、マルチスレッドプログラムを実装する方法がありませんので、Javaは、直接システム機能を呼び出すことはできません。
しかし、それは?Javaはマルチスレッドのプログラムを達成するためにC / C + +書かれたプロシージャを呼び出すために行くことができます。

その後、クラスを提供し、当社の使用するため。私たちは、マルチスレッドプログラムを達成することができます。

だから、何のJavaクラスを提供しているのですか?

APIを見ることによって、我々は、マルチスレッドプログラムを達成するための2つの方法があることを知っています。

  • オプション1:Threadクラスを継承。

ステップ
A:MyThreadのカスタムクラスは、Threadクラスを継承します。
B:?ランを(上書きMyThreadクラスは)
?なぜrun()メソッドで
オブジェクトの作成:Cは
Dを:スレッドを開始します

07- 1マルチスレッドコードを達成するために

  • このクラスは、run()メソッド、およびその理由をオーバーライドする必要がありますか?

すべてのコードが実行スレッドするクラスが必要ではありません。
そして、この時間は、コードの実行のどのスレッドを区別することができるようにするために、JavaはThreadクラスの実行が()の実行のスレッドを含むものを符号化するために使用されています。

  • なぜ、実行()メソッドを呼び出し、それをシングルスレッドでありますか?

そのため、実行通常のメソッド呼び出しに事実と同等で直接呼び出す()メソッド、だシーイングはシングルスレッドの効果であるあなたはので、
マルチスレッドの効果を見るために、別の方法について話をする必要があります。start()

  • インタビューの質問は:実行の間の差()とstart()ですか?

()を実行します。コードのパッケージは、単に実行スレッドです、ダイレクトコールは、一般的な方法で
開始():開始最初のスレッドは、run()メソッドを呼び出すスレッドJVM。

08-は、スレッド・オブジェクト名を取得および設定します

スレッドオブジェクトの名前にそれを取得する方法?

  • 公共の最終文字列のgetName():スレッドの名前を取得します。

スレッドオブジェクトの名前にそれを設定するには?

  • 公共の最終無効のsetName(文字列名):スレッドの名前を設定します。

そのためのスレッドオブジェクト名を取得する方法Threadクラスのサブクラスではないでしょうか?

  • パブリック静的スレッドcurrentThreadは():現在実行中のスレッドオブジェクトを返します。
  • 糸。currentThread()。getName()|

 例えば:私はそれを行う方法、オブジェクトのメソッドが配置されているメインスレッドの名前を取得したいですか?

System.out.println(。スレッドcurrentThread().getName());

09-スレッドのスケジューリングとスレッドの優先順位を取得および設定

優先度のスレッドオブジェクトを取得するには?

  • 公共の最終int型getPriority():スレッドオブジェクトの優先順位を返します。

どのようにそれの優先順位のスレッドオブジェクトを設定するには?

  • 公共の最終無効setPriorityを(int型newPriority):スレッドの優先順位の問題を変更します。

注意:

デフォルトのスレッドの優先順位は5です
1-10:スレッドの優先順位は、
優先度の高いスレッドが 唯一のスレッドがCPUのタイムスライスを取得する可能性が高いことを示す複数の実行を参照したときに、より多くの回数を、またはかなり良い結果。

  • IllegalArgumentException:不正な引数例外。

この方法に違法または不正なパラメータを渡すことを示すためにスローされます。

おすすめ

転載: www.cnblogs.com/htbht2000/p/12527457.html
おすすめ