web-dev-qa-db-ja.com

スレッドローカルハンドシェイクの説明

推定の一部として JDK 1 this JEP 312:Thread-Local Handshakes が提案されました。

私はその説明を理解しようとしましたが、まだアイデアが適切に得られたとは確信していません。

本質的に、非推奨の Thread.destroy() に似た何かを復活させる試みですか?

このインターフェイスは理論的にどのように見えるでしょうか?

28
Andremoniy

JEP:312 Thread-Local-Handshakes を調査し、この質問に対する優れたコメントを読んだ後、簡単な要約を示します。

  • これは、開発者が直接使用できないパフォーマンス強化です。

    handshakeメカニズムは、Hotspot safepointsメカニズムの最適化として提案されています。

    前者は、規制対象の操作(ハンドシェイクコールバック)を実行した直後に、セーフポイントのスレッドが実行を継続できるようにします。

    後者は、重要な操作(FullGCなど)を実行するために、すべてのスレッドをセーフポイントで強制的にブロックします。スレッドは、重要な操作の実行が完了した後にのみ解放されます。

  • このJEPは、 Thread.destroy() などのスレッド終了APIとは関係ありません。この主題が提起されたので、スレッドの終了に関するいくつかの記事を以下のリファレンスに追加します。

OPコメンテーター:

JimmyBAndy TurnerskomisaAlexander Bollaert

参照:

7
Rann Lifshitz