J'ai un doute sur l'utilisation de threadlocal dans la gestion des sessions. Il est ..Utilisation de ThreadLocal pour gérer les données de session
Dans Thread Local, le thread qui crée l'objet local thread a toujours accès à cet objet de session et seul ce thread peut modifier les données de l'objet session. Il peut y avoir plusieurs threads en cours d'exécution pour compléter une requête utilisateur unique. Alors, qu'en est-il de tous les autres threads qui participent pour compléter une requête utilisateur. Ils n'auront pas accès pour modifier l'objet de session, comme n'importe quel thread crée l'objet local Thread obtient son propre objet de session, ainsi les autres threads qui exécutent une requête utilisateur unique peuvent ne pas mettre à jour leurs données vers l'objet de session ils voulaient réellement. Je veux dire si thread-1 et thread-2 participent à la réalisation d'une requête utilisateur, mais thread-1 vient créer l'objet threadlocal, et thread-2 exécute d'autres codes dans le cadre de la requête, mais après thread-2 achèvement, il ne peut pas mettre à jour les données de session parce que seul tharead-1 a accès à la session car il a créé l'objet threadlocal.
Alors, comment réglons-nous ce problème? Allons-nous nous assurer qu'un seul thread participe à la demande d'un seul utilisateur? ou
Comment sommes-nous si sûrs que le thread qui crée l'objet threadlocal n'arrive qu'à mettre à jour les données de session associées à cette requête?
S'il vous plaît laissez-moi savoir si vous avez besoin de détails supplémentaires pour répondre à la question .. – santhosh
Il a déjà répondu. N'utilisez pas de stockage lié au thread mais lié à la demande. Cela ne peut pas être fait de manière locale comme dans mon exemple de code ou en utilisant un identificateur de requête et une API de stockage telle qu'expliquer dans mon édition (dernier paragraphe après l'exemple de code). Laissez-moi quels détails supplémentaires vous devez satisfaire. – LoganMzz