ホームページ  >  記事  >  Java  >  2020 年の新しい Java 面接の質問 - マルチスレッド (3)

2020 年の新しい Java 面接の質問 - マルチスレッド (3)

王林
王林転載
2020-05-14 17:56:302137ブラウズ

2020 年の新しい Java 面接の質問 - マルチスレッド (3)

1. スレッド プールの状態は何ですか?

スレッド プールには、実行中、シャットダウン、停止、整理中、終了の 5 つの状態があります。

スレッド プールの状態切り替えフレーム図:

2020 年の新しい Java 面接の質問 - マルチスレッド (3)

(ビデオ チュートリアルの推奨事項: java ビデオ)

#2. スレッド プールの submit() メソッドとexecute() メソッドの違いは何ですか?

受け取ったパラメータが異なります

submit には戻り値がありますが、execute にはありません

submit により例外処理が容易になります

3 . Java プログラムでのマルチスレッド操作の安全性を確保するにはどうすればよいですか?

スレッドの安全性は 3 つの側面に反映されます:

アトミック性: 相互排他的アクセスを提供し、同時に 1 つのスレッドのみがデータを操作できます (アトミック、同期)。

可視性: 1 つのスレッドによるメイン メモリへの変更は、他のスレッドからも時間内に確認できます (同期、揮発性);

順序付け: 1 つのスレッドが他のスレッドでの命令の実行順序を監視します。並べ替えると、この観察は一般に無秩序になります (発生前に発生する原理)。

(関連チュートリアルの推奨事項:

java 入門プログラム )

4. マルチスレッド ロックをアップグレードする原理は何ですか?

Java には 4 つのロック状態があります。低レベルから高レベルまで: ステートレス ロック、バイアス ロック、軽量ロック、重量ロック状態です。これらの状態は時間とともに変化します。競争が徐々に進むにつれて、エスカレートします。ロックはアップグレードできますが、ダウングレードはできません。

ロック アップグレードの図解プロセス:

2020 年の新しい Java 面接の質問 - マルチスレッド (3)

5. デッドロックとは何ですか?

デッドロックとは、2 つ以上のプロセスが実行中にリソースの競合や通信を行うことによって発生するブロック現象のことで、外部からの力がなければ、すべてのプロセスが処理を進めることができなくなります。このとき、システムがデッドロック状態にある、またはシステムがデッドロックに陥っているといい、このように常に待ち合っているプロセスをデッドロックプロセスと呼びます。

推奨チュートリアル:

Java 面接の質問

以上が2020 年の新しい Java 面接の質問 - マルチスレッド (3)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。