web-dev-qa-db-fra.com

Explication des poignées de main locales-thread

Dans le cadre du putatif JDK 1 this JEP 312: Thread-Local Handshakes a été proposé.

J'ai essayé de saisir sa description, mais je ne suis toujours pas sûr d'avoir bien compris l'idée.

Est-ce essentiellement une tentative de réanimer quelque chose de similaire à la dépréciée Thread.destroy () ?

Comment cette interface pourrait-elle théoriquement ressembler?

28
Andremoniy

Après avoir recherché JEP: 312 Thread-Local-Handshakes et lu les excellents commentaires sur cette question, voici un bref résumé.

  • Il s'agit d'une amélioration des performances qui ne peut pas être utilisée directement par les développeurs:

    Un mécanisme handshake est proposé comme optimisation du Hotspot safepoints mécanisme.

    Le premier permet aux threads d'un point de sauvegarde de continuer à s'exécuter immédiatement après avoir effectué une opération de réglementation (le rappel de prise de contact).

    Ce dernier force tous les threads à bloquer sur un point de sécurité afin que les opérations critiques puissent avoir lieu (telles que FullGC). Les threads sont libérés uniquement une fois que l'opération critique a terminé son exécution.

  • Ce JEP n'est pas lié aux API de terminaison de thread telles que Thread.destroy () . Puisque ce sujet a été soulevé, j'ajouterai quelques articles sur la terminaison des threads dans les références ci-dessous.

OP commentateurs:

JimmyB , Andy Turner , skomisa , Alexander Bollaert

Les références:

7
Rann Lifshitz