睡眠と睡眠の差

Anonim

Sleep vs Wait

コンピュータのようなマシンは、人工言語を使用してプログラムを作成し、制御し、コンピュータが人工言語を使用してプログラムを作成し、それらを制御し、命令を伝え、アルゴリズムを表現できるようにする。この言語はプログラミング言語と呼ばれます。コンピュータが登場する以前は、プログラミング言語はすでに織機とピアノで使用されていました。コンピュータの使用がより一般的になるにつれ、いくつかのプログラミング言語が使用されていました。

<! - 1 - >

BASIC、C、C ++、Fortran、Pascal、Javaなどの高水準言語を含むいくつかのコンピュータ言語があります。各仮想マシンとCPUには独自のコンピュータ言語があり、それぞれ独自の弱みと強みがあり、すべての仮想マシンは起動時にスレッドを実行します。このスレッドは、プログラム内のアプリケーションコードを実行します。プログラムの実行速度を向上させ、特に複数のスレッドが使用されている場合のパフォーマンスと有用性を向上させることができます。

<! Java仮想マシンなどの仮想マシンは、より優先度の高いスレッドより優先度の高いスレッドを最初に実行し、時間処理の公正な分割を確実にするマルチスレッドの概念をサポートしています。

共有空間内の制御またはスレッドの流れを作成、制御、終了することができるスレッド管理メソッドを使用します。これらのスレッド管理メソッドのうちの2つは、waitメソッドとsleepメソッドです。

<! - 3 - >

これら2つの方法は別々です。 sleepメソッドはスレッドの実行を制御し、waitメソッドがスレッドの実行を制御しないうちに次のアクションを遅延させ、他のスレッドを実行させます。

waitメソッドはObjectクラスで定義され、現在のスレッドを実行不可状態にします。これは、オブジェクトの実行コードを一時的に一時停止し、後で再開させるために、notifyおよびnotifyAllメソッドと一緒に使用されます。

ロックオブジェクトを呼び出して現在のスレッドと同期させることで動作します。 Waitはロックを解除し、スレッドを待機リストに入れ、他のスレッドと同期させて元のスレッドを起動させます。プログラマは、実行が再び開始される特定の時間を決定します。一方、スリープ方法は、静的方法として定義されている。実行されているスレッドを一時停止するだけでなく、スレッドではなくオブジェクトの実行を遅延させます。現在のスレッドを一定期間実行不能状態にします。現在のスレッドの同期ロックを維持するため、マルチスレッドのアプリケーションの動作に影響を与える可能性があります。スレッドが同期ブロックに入ると、他のスレッドはブロックに入ることができません。要約:

1。 「Sleep」は静的メソッドとして定義されるスレッド管理メソッドであり、「wait」はObjectクラスで定義されるスレッド管理メソッドです。2。 Sleepは、waitがオブジェクトを実行するメソッドである間にスレッドを実行するメソッドです。 3。 Sleepは現在のスレッドの同期ロックを保持し、待機中にアプリケーションの動作に影響を与えます。 4。 Sleepはスレッドの実行を制御し、同期ブロック内の他のスレッドは許可しませんが、waitはスレッドの実行を制御せずに他のスレッドを実行させます。