У меня возникли сомнения по поводу использования threadlocal при управлении сеансами. Это..
В Thread Local любой поток, который создает локальный объект потока, имеет доступ к этому объекту сеанса, и только этот поток может изменять данные объекта сеанса. Для выполнения одного пользовательского запроса может быть запущено много потоков. А как насчет всех других потоков, участвующих в выполнении одного пользовательского запроса?
Они не получат доступа для изменения объекта сеанса, так как любой поток, создающий локальный объект Thread, получает свой собственный объект сеанса, поэтому другие потоки, запускаемые для выполнения одного пользовательского запроса, могут не обновлять свои данные до объекта сеанса, к которому они действительно хотели .
Я имею в виду, если поток-1 и поток-2 участвуют в выполнении пользовательского запроса, но поток-1 приходит для создания объекта threadlocal, а поток-2 выполняет другие коды как часть запроса, но после завершения потока-2 он не может обновить данные сеанса, потому что только tharead-1 имеет доступ к сеансу, поскольку он создал объект threadlocal.
Итак, как мы решаем этот вопрос.
Следим ли мы за тем, чтобы только один поток участвовал в выполнении запроса одного пользователя? или же
Почему мы так уверены, что любой поток, который создает объект threadlocal, приходит только для обновления данных сеанса, связанных с этим запросом?