スレッドのライフサイクルのJavaのマルチスレッド

A、Javaスレッドのスケジューリング方法:

1は、スレッドFIFOキューの優先順位とタイムスライスの戦略を使用して、(早い者勝ち)。
2、優先度の高い、プリエンプティブスケジューリングポリシーの優先順位を使用しています。

二、Javaスレッドの優先順位:

1、スレッド優先度クラス
MAX_ PRIORITY:10、MIN_ PRIORITY:1、PRIORITYのNORM :. 5
2、方法関与メンバー
getPriorityは():スレッドの優先順位値を返します。
setPriorityを(int型newPriority):スレッドの優先順位を変更します。
スレッドが作成されたときの優先順位は、親スレッドを継承します。
優先度の低いが、スケジューリングを得る確率が低いが、必ずしも唯一の高優先度のスレッドの後に呼ばれていました。

三、Javaのスレッドカテゴリー:

2種類のJavaスレッドは:1であるデーモンスレッド 1は、ユーザスレッド
●事実上あらゆる点で同じであり、唯一の違いは、JVMを残すときの決意です。
●デーモンスレッドはstart()メソッドの前に呼び出すことにより、サービス利用者のスレッドに使用されています。
(真)thread.setDaemonは、デーモンスレッドにユーザスレッドを置くことができます。
●Javaのガベージコレクションは、典型的なデーモンスレッドです。
JVMは、デーモンスレッドがある場合は●、現在のJVMは終了します。(Tusigoupengは、捨てたら弓を鳥がなくなっています

Thread.StateクラスとJDKは、スレッドのいくつかの状態を定義しています。
マルチスレッド達成するために、あなたはメインスレッドで新しいスレッドオブジェクトを作成する必要があります。オブジェクトのThreadクラスとサブクラス使用してJava言語
通常、次の5つの州を通過し、その完全なライフサイクルのいずれかで、スレッドを表現するために:
(1)新:オブジェクトは、Threadクラスまたはサブクラスが宣言されている場合ときに新しい状態において新生スレッドオブジェクトを作成します。
(2)準備完了:新しい状態のスレッドは、スターが(後)、CPUのタイムスライスを待っているスレッドのキューに入ります、され
、この時点では、操作の条件を持っているが、CPUリソースに割り当てられていません。
(3)実行:スレッドがスケジュールされ、CPUのリソースを取得する準備ができているとき、実行状態に入りますが、
RUN()メソッドは、スレッドの動作や機能を定義します。
(4)ブロッキング:特定の特別なケースでは、懸濁または人工的入出力操作を実行するために、
一時的にCPUとは、それ自身の実行を一時停止するように、ブロックされた状態を入力します。
(5)死亡:事前またはスレッドでその作業のすべてを完了するためにスレッドが強制的に最後までリードを中断または異常れます。

  

 

おすすめ

転載: www.cnblogs.com/ZengBlogs/p/12203363.html